|
12 | 12 | from tigeropen.trade.response import CONTRACT_FIELDS |
13 | 13 |
|
14 | 14 | CONTRACT_FIELD_MAPPINGS = {'secType': 'sec_type', 'localSymbol': 'local_symbol', 'originSymbol': 'origin_symbol', |
15 | | - 'conid': 'contract_id', 'contractId': 'contract_id', 'lastTradingDate': 'expiry'} |
| 15 | + 'conid': 'contract_id', 'contractId': 'contract_id', 'lastTradingDate': 'expiry', |
| 16 | + 'shortMargin': 'short_margin', 'shortFeeRate': 'short_fee_rate', |
| 17 | + 'longInitialMargin': 'long_initial_margin', |
| 18 | + 'longMaintenanceMargin': 'long_maintenance_margin'} |
16 | 19 |
|
17 | 20 |
|
18 | 21 | class ContractsResponse(TigerResponse): |
@@ -52,7 +55,16 @@ def parse_response_content(self, response_content): |
52 | 55 | put_call = contract_fields.get('right') |
53 | 56 | multiplier = contract_fields.get('multiplier') |
54 | 57 | name = contract_fields.get('name') |
| 58 | + short_margin = contract_fields.get('short_margin') |
| 59 | + short_fee_rate = contract_fields.get('short_fee_rate') |
| 60 | + shortable = contract_fields.get('shortable') |
| 61 | + long_initial_margin = contract_fields.get('long_initial_margin') |
| 62 | + long_maintenance_margin = contract_fields.get('long_maintenance_margin') |
| 63 | + |
55 | 64 | contract = Contract(symbol, currency, contract_id=contract_id, sec_type=sec_type, exchange=exchange, |
56 | 65 | origin_symbol=origin_symbol, local_symbol=local_symbol, expiry=expiry, |
57 | | - strike=strike, put_call=put_call, multiplier=multiplier, name=name) |
| 66 | + strike=strike, put_call=put_call, multiplier=multiplier, name=name, |
| 67 | + short_margin=short_margin, short_fee_rate=short_fee_rate, shortable=shortable, |
| 68 | + long_initial_margin=long_initial_margin, |
| 69 | + long_maintenance_margin=long_maintenance_margin) |
58 | 70 | self.contracts.append(contract) |
0 commit comments