In [1]:
#Import the icepython library
#Make sure to read our quick start guide!  Additional support can be reached by contacting [email protected]
import icepython as ice
In [2]:
#Option Autolisting
#Returns all expirations for a given product/security
symbols = ice.get_autolist('***BRN-ICE')
print(symbols)
('N21', 'Q21', 'U21', 'V21', 'X21', 'Z21', 'F22', 'G22', 'H22', 'J22', 'K22', 'M22', 'N22', 'Q22', 'U22', 'V22', 'X22', 'Z22', 'F23', 'G23', 'H23', 'J23', 'K23', 'M23', 'N23', 'Q23', 'U23', 'V23', 'X23', 'Z23', 'F24', 'G24', 'H24', 'J24', 'K24', 'M24', 'N24', 'Q24', 'U24', 'V24', 'X24', 'Z24', 'F25', 'G25', 'H25', 'J25', 'K25', 'M25', 'N25', 'Q25', 'U25', 'V25', 'X25', 'Z25', 'F26', 'G26', 'H26', 'J26', 'K26', 'M26', 'N26', 'Q26', 'U26', 'V26', 'X26', 'Z26', 'F27', 'G27', 'H27')
In [3]:
#Option Autolisting
#All Expirations Futures - when exchange suffix is not present add 'fut'
symbols = ice.get_autolist('***sb fut')
print(symbols)
('M21', 'N21', 'Q21', 'V21', 'F22', 'H22', 'K22', 'N22', 'V22', 'F23', 'H23', 'K23', 'N23', 'V23', 'F24', 'H24')
In [4]:
#Option Autolisting
#All Expirations Stocks - when exchange suffix is not present add 'stk'
symbols = ice.get_autolist('***sb stk')
print(symbols)
('210521', '210618', '210716', '211015')
In [5]:
#All Options for a given expiration
symbols = ice.get_autolist('***brn-ice z24')
print(symbols)
('BRN 24ZP3500-ICE', 'BRN 24ZP4100-ICE', 'BRN 24ZP4200-ICE', 'BRN 24ZP4300-ICE', 'BRN 24ZP4400-ICE', 'BRN 24ZP4500-ICE', 'BRN 24ZP4600-ICE', 'BRN 24ZP4700-ICE', 'BRN 24ZP4800-ICE', 'BRN 24ZP4900-ICE', 'BRN 24ZP5000-ICE', 'BRN 24ZP5100-ICE', 'BRN 24ZP5200-ICE', 'BRN 24ZP5300-ICE', 'BRN 24ZP5400-ICE', 'BRN 24ZP5500-ICE', 'BRN 24ZP5600-ICE', 'BRN 24ZP5700-ICE', 'BRN 24ZP5800-ICE', 'BRN 24ZP5900-ICE', 'BRN 24ZP6000-ICE', 'BRN 24ZP6100-ICE', 'BRN 24ZP6200-ICE', 'BRN 24ZP6300-ICE', 'BRN 24ZP6400-ICE', 'BRN 24ZP6500-ICE', 'BRN 24ZP6600-ICE', 'BRN 24ZP6700-ICE', 'BRN 24ZP6800-ICE', 'BRN 24ZP6900-ICE', 'BRN 24ZP7000-ICE', 'BRN 24ZP7100-ICE', 'BRN 24ZP7200-ICE', 'BRN 24ZP7300-ICE', 'BRN 24ZC3500-ICE', 'BRN 24ZC4100-ICE', 'BRN 24ZC4200-ICE', 'BRN 24ZC4300-ICE', 'BRN 24ZC4400-ICE', 'BRN 24ZC4500-ICE', 'BRN 24ZC4600-ICE', 'BRN 24ZC4700-ICE', 'BRN 24ZC4800-ICE', 'BRN 24ZC4900-ICE', 'BRN 24ZC5000-ICE', 'BRN 24ZC5100-ICE', 'BRN 24ZC5200-ICE', 'BRN 24ZC5300-ICE', 'BRN 24ZC5400-ICE', 'BRN 24ZC5500-ICE', 'BRN 24ZC5600-ICE', 'BRN 24ZC5700-ICE', 'BRN 24ZC5800-ICE', 'BRN 24ZC5900-ICE', 'BRN 24ZC6000-ICE', 'BRN 24ZC6100-ICE', 'BRN 24ZC6200-ICE', 'BRN 24ZC6300-ICE', 'BRN 24ZC6400-ICE', 'BRN 24ZC6500-ICE', 'BRN 24ZC6600-ICE', 'BRN 24ZC6700-ICE', 'BRN 24ZC6800-ICE', 'BRN 24ZC6900-ICE', 'BRN 24ZC7000-ICE', 'BRN 24ZC7100-ICE', 'BRN 24ZC7200-ICE', 'BRN 24ZC7300-ICE')
In [6]:
#At the Money Options for a given expiration
symbols = ice.get_autolist('***brn-ice m22 ATM:10')
print(symbols)
('BRN 22MP6325-ICE', 'BRN 22MP6350-ICE', 'BRN 22MP6400-ICE', 'BRN 22MP6450-ICE', 'BRN 22MP6500-ICE', 'BRN 22MP6600-ICE', 'BRN 22MP6700-ICE', 'BRN 22MP6800-ICE', 'BRN 22MP6900-ICE', 'BRN 22MP7000-ICE', 'BRN 22MC6325-ICE', 'BRN 22MC6350-ICE', 'BRN 22MC6400-ICE', 'BRN 22MC6450-ICE', 'BRN 22MC6500-ICE', 'BRN 22MC6600-ICE', 'BRN 22MC6700-ICE', 'BRN 22MC6800-ICE', 'BRN 22MC6900-ICE', 'BRN 22MC7000-ICE')
In [7]:
#Out of the Money Options for a given expiration
symbols = ice.get_autolist('***brn-ice m22 OTM:10')
print(symbols)
('BRN 22MP6200-ICE', 'BRN 22MP6225-ICE', 'BRN 22MP6250-ICE', 'BRN 22MP6300-ICE', 'BRN 22MP6325-ICE', 'BRN 22MP6350-ICE', 'BRN 22MP6400-ICE', 'BRN 22MP6450-ICE', 'BRN 22MP6500-ICE', 'BRN 22MP6600-ICE', 'BRN 22MC6600-ICE', 'BRN 22MC6700-ICE', 'BRN 22MC6800-ICE', 'BRN 22MC6900-ICE', 'BRN 22MC7000-ICE', 'BRN 22MC7100-ICE', 'BRN 22MC7200-ICE', 'BRN 22MC7300-ICE', 'BRN 22MC7400-ICE', 'BRN 22MC7500-ICE')
In [8]:
#In of the Money Options for a given expiration
symbols = ice.get_autolist('***brn-ice m22 ITM:10')
print(symbols)
('BRN 22MP6600-ICE', 'BRN 22MP6700-ICE', 'BRN 22MP6800-ICE', 'BRN 22MP6900-ICE', 'BRN 22MP7000-ICE', 'BRN 22MP7100-ICE', 'BRN 22MP7200-ICE', 'BRN 22MP7300-ICE', 'BRN 22MP7400-ICE', 'BRN 22MP7500-ICE', 'BRN 22MC6200-ICE', 'BRN 22MC6225-ICE', 'BRN 22MC6250-ICE', 'BRN 22MC6300-ICE', 'BRN 22MC6325-ICE', 'BRN 22MC6350-ICE', 'BRN 22MC6400-ICE', 'BRN 22MC6450-ICE', 'BRN 22MC6500-ICE', 'BRN 22MC6600-ICE')
In [9]:
#Only Calls for a given expiration
symbols = ice.get_autolist('***brn-ice m24 C')

#Only Puts for a given expiration
#symbols = ice.get_autolist('***brn-ice m24 P')
print(symbols)
('BRN 24MC4000-ICE', 'BRN 24MC4100-ICE', 'BRN 24MC4200-ICE', 'BRN 24MC4300-ICE', 'BRN 24MC4400-ICE', 'BRN 24MC4500-ICE', 'BRN 24MC4600-ICE', 'BRN 24MC4700-ICE', 'BRN 24MC4800-ICE', 'BRN 24MC4900-ICE', 'BRN 24MC5000-ICE', 'BRN 24MC5100-ICE', 'BRN 24MC5200-ICE', 'BRN 24MC5300-ICE', 'BRN 24MC5400-ICE', 'BRN 24MC5500-ICE', 'BRN 24MC5600-ICE', 'BRN 24MC5700-ICE', 'BRN 24MC5800-ICE', 'BRN 24MC5900-ICE', 'BRN 24MC6000-ICE', 'BRN 24MC6100-ICE', 'BRN 24MC6200-ICE', 'BRN 24MC6300-ICE', 'BRN 24MC6400-ICE', 'BRN 24MC6500-ICE', 'BRN 24MC6600-ICE', 'BRN 24MC6700-ICE', 'BRN 24MC6800-ICE', 'BRN 24MC6900-ICE', 'BRN 24MC7000-ICE', 'BRN 24MC7100-ICE', 'BRN 24MC7200-ICE', 'BRN 24MC7300-ICE')
In [10]:
#Quote - Volume, Trade and Block Prices, Open Interest, and Vol for all strikes on a given expiration
import pandas as pd
symbols = ice.get_autolist('***brn-ice z21')
fields = ['Last','Block Price','Volume','OpenInt','ImpVol']
data = ice.get_quotes(symbols,fields,True)
df = pd.DataFrame(list(data))
print(df)
                     0     1            2       3        4       5
0                       Last  Block Price  Volume  OpenInt  ImpVol
1      BRN 21ZP080-ICE  None         None       0     None    None
2     BRN 21ZP1500-ICE  None         None       0     2100    None
3     BRN 21ZP2000-ICE  None         None       0     2810    None
4     BRN 21ZP2100-ICE  None         None       0      100    None
5     BRN 21ZP2150-ICE  None         None       0     None    None
6     BRN 21ZP2200-ICE  None         None       0     None    None
7     BRN 21ZP2250-ICE  None         None       0     None    None
8     BRN 21ZP2300-ICE  None         None       0      150    None
9     BRN 21ZP2350-ICE  None         None       0     3400    None
10    BRN 21ZP2400-ICE  None         None       0     None    None
11    BRN 21ZP2450-ICE  None         None       0     1014    None
12    BRN 21ZP2500-ICE  None         None       0     8950    None
13    BRN 21ZP2600-ICE  None         None       0      650    None
14    BRN 21ZP2625-ICE  None         None       0     None    None
15    BRN 21ZP2700-ICE  None         None       0     None    None
16    BRN 21ZP2800-ICE  None         None       0     None    None
17    BRN 21ZP2975-ICE  None         None       0     None    None
18    BRN 21ZP3000-ICE  None         0.14     950    14192    None
19    BRN 21ZP3100-ICE  None         None       0     None    None
20    BRN 21ZP3200-ICE  None         None       0      767    None
21    BRN 21ZP3300-ICE  None         None       0     1930    None
22    BRN 21ZP3375-ICE  None         None       0     None    None
23    BRN 21ZP3400-ICE  None         None       0     2000    None
24    BRN 21ZP3500-ICE  None         0.25     600    16067    None
25    BRN 21ZP3550-ICE  None         None       0      160    None
26    BRN 21ZP3600-ICE  None         None       0      700    None
27    BRN 21ZP3700-ICE  None         None       0      340    None
28    BRN 21ZP3750-ICE  None         None       0      150    None
29    BRN 21ZP3800-ICE  None         0.67       0     1404    None
..                 ...   ...          ...     ...      ...     ...
339  BRN 21ZC10100-ICE  None         None       0       47    None
340  BRN 21ZC10200-ICE  None         None       0       29    None
341  BRN 21ZC10300-ICE  None         None       0       10    None
342  BRN 21ZC10400-ICE  None         None       0        0    None
343  BRN 21ZC10500-ICE  None         0.32       0     1080    None
344  BRN 21ZC10600-ICE  None         None       0     None    None
345  BRN 21ZC10700-ICE  None         None       0     None    None
346  BRN 21ZC10800-ICE  None         None       0     None    None
347  BRN 21ZC10900-ICE  None         None       0     None    None
348  BRN 21ZC11000-ICE  None         None       0     None    None
349  BRN 21ZC11100-ICE  None         None       0     None    None
350  BRN 21ZC11200-ICE  None         None       0     None    None
351  BRN 21ZC11300-ICE  None         None       0     None    None
352  BRN 21ZC11400-ICE  None         None       0     None    None
353  BRN 21ZC11500-ICE  None         None       0     None    None
354  BRN 21ZC11600-ICE  None         None       0     None    None
355  BRN 21ZC11700-ICE  None         None       0     None    None
356  BRN 21ZC11800-ICE  None         None       0     None    None
357  BRN 21ZC11900-ICE  None         None       0     None    None
358  BRN 21ZC12000-ICE  None         None       0     None    None
359  BRN 21ZC12100-ICE  None         None       0     None    None
360  BRN 21ZC12200-ICE  None         None       0     None    None
361  BRN 21ZC12300-ICE  None         None       0     None    None
362  BRN 21ZC12400-ICE  None         None       0     None    None
363  BRN 21ZC12500-ICE  None         None       0      666    None
364  BRN 21ZC12600-ICE  None         None       0     None    None
365  BRN 21ZC12700-ICE  None         None       0     None    None
366  BRN 21ZC12800-ICE  None         None       0     None    None
367  BRN 21ZC12900-ICE  None         None       0     None    None
368  BRN 21ZC13000-ICE  None         None       0     None    None

[369 rows x 6 columns]