官术网_书友最值得收藏!

Querying margins and funds

Before placing orders, it is important to ensure that you have enough margins and funds available in your broking account to place the orders successfully. A lack of sufficient funds would result in the rejection of any orders placed by the broker, which means the others would never get placed on the exchange. This recipe shows you how to find the available margins and funds in your broking account at any point in time.

Getting ready

Make sure the broker_connection object is available in your Python namespace. Refer to the first recipe of this chapter to learn how to set it up.

How to do it…

We execute the following steps to complete this recipe:

  1. Display the equity margins:
>>> equity_margins = broker_connection.get_margins('equity')
>>> equity_margins

We'll get the following output (your output may differ):

{'enabled': True,
'net': 1623.67,
'available': {'adhoc_margin': 0,
'cash': 1623.67,
'opening_balance': 1623.67,
'live_balance': 1623.67,
'collateral': 0,
'intraday_payin': 0},
'utilised': {'debits': 0,
'exposure': 0,
'm2m_realised': 0,
'm2m_unrealised': 0,
'option_premium': 0,
'payout': 0,
'span': 0,
'holding_sales': 0,
'turnover': 0,
'liquid_collateral': 0,
'stock_collateral': 0}}
  1. Display the equity funds:
>>> equity_funds = broker_connection.get_funds('equity')
>>> equity_funds

We'll get the following output (your output may differ):

1623.67
  1. Display the commodity margins:
>>> commodity_margins = get_margins(commodity')
>>> commodity_margins

We'll get the following output (your output may differ):

{'enabled': True,
'net': 16215.26,
'available': {'adhoc_margin': 0,
'cash': 16215.26,
'opening_balance': 16215.26,
'live_balance': 16215.26,
'collateral': 0,
'intraday_payin': 0},
'utilised': {'debits': 0,
'exposure': 0,
'm2m_realised': 0,
'm2m_unrealised': 0,
'option_premium': 0,
'payout': 0,
'span': 0,
'holding_sales': 0,
'turnover': 0,
'liquid_collateral': 0,
'stock_collateral': 0}}
  1. Display the commodity funds:
>>> commodity_funds = broker_connection.get_funds('commodity')
>>> commodity_funds

We'll get the following output (your output may differ):

0

How it works…

The broker_connection object provides methods for fetching the available margins and funds for your broking account:

  • get_margins()
  • get_funds()

The broker Zerodha keeps track of margins and funds separately for equity and commodity products. If you are using a different broker supported by pyalgotrading, it may or may not track the funds and margins separately for equity and commodity.

Step 1 shows how margins can be queried for the equity product using the get_margins() method of the broker_connection object, with equity as an argument. Step 2 shows how funds can be queried for the equity product using the get_funds() method of the broker_connection object, with the equity string as an argument.

Steps 3 and 4 show how margins and funds can be queried for the commodity product in a similar way with the commodity string as an argument.

主站蜘蛛池模板: 峨山| 夏邑县| 沁阳市| 西宁市| 高台县| 深水埗区| 灌阳县| 黔江区| 青海省| 雅江县| 潮安县| 东安县| 望城县| 秦皇岛市| 祁连县| 华安县| 澎湖县| 洪雅县| 天台县| 奉新县| 东至县| 唐海县| 柯坪县| 江门市| 长治市| 保康县| 淳化县| 蚌埠市| 安义县| 湘潭县| 福泉市| 汉源县| 宜川县| 商南县| 东丰县| 南阳市| 都匀市| 靖边县| 平谷区| 延边| 宝丰县|