Exemplo n.º 1
0
def _request_historical_ticks(ib: IB,
                              contract: Contract,
                              start_time: str,
                              what="BID_ASK"):
    return ib.reqHistoricalTicks(
        contract=contract,
        startDateTime=start_time,
        endDateTime="",
        numberOfTicks=1000,
        whatToShow=what,
        useRth=False,
    )
Exemplo n.º 2
0
    for right in rights
    for expiration in expirations
    for strike in strikes
]

contracts = ib.qualifyContracts(*contracts)

# 2) ricevi tickers
# 3) calcola hedge basato su greeks
start = datetime.datetime(2020, 4, 14, 13, 30).replace(tzinfo=pytz.utc)
allticks: List = []
ticks = ib.reqHistoricalTicks(
    contracts[0],
    startDateTime=start,
    endDateTime=None,
    numberOfTicks=1000,
    whatToShow="TRADES",
    ignoreSize=True,
    useRth=True,
)
while 1:
    # ib.waitOnUpdate()
    allticks = allticks + [
        (start, t.time.replace(tzinfo=pytz.utc), t.price, t.size) for t in ticks
    ]
    start = ticks[-1].time + datetime.timedelta(microseconds=1)

df = pd.DataFrame(allticks, columns=["date", "tick", "price", "size"])

es = ib.reqContractDetails(Future(symbol="ES", exchange="GLOBEX"))[0].contract