req_historical_data – ShinyBroker

# req_historical_data

    req_historical_data(
        reqId,
        contract,
        endDateTime='',
        durationStr='1 D',
        barSizeSetting='1 hour',
        whatToShow='Trades',
        useRTH=True,
        formatDate=1,
        keepUpToDate=False,
    )

Create a request for the historical data of a financial instrument

## Parameters

Name | Type | Description | Default
--- | --- | --- | ---
reqId | int | Numeric identifier of the request | required
contract | Contract | The Contract object for which you want data | required
endDateTime |  | Ending datetime string formatted as “YYYYMMDD HH:mm:ss TMZ” specifying the end of the time period for which you want historical data. Leave it as the default “” to get historical data up to the current present moment. | `''`
durationStr |  | A Duration String that specifies how far back in time you want to fetch data. | `'1 D'`
barSizeSetting |  | A Bar Size that specifies how fine-grained you want your historical data to be (daily, weekly, every 30 seconds, etc). | `'1 hour'`
whatToShow |  | You may select from any of the Historical Data Types but for most cases you’ll probably be happy with one of “BID_ASK”, “MIDPOINT”, or “TRADES”. | `'Trades'`
useRTH |  | “Use Regular Trading Hours”. Set to `False` if you want the historical data to include after-hours/pre-market trading | `True`
formatDate |  | Numeric code from the Format Date Received table that specifies how you want your dates formatted in the data. | `1`
keepUpToDate |  | Set to `True` if you want to keep receiving new bar data as it becomes available. For a `barSizeSetting` of `5 min`, that would mean you receive new data every 5 minutes. | `False`

## Examples

    import shinybroker as sb
    # create a request for historical TRADES of AAPL for the last 30 days,
    #   starting today. Report the data on a daily basis, regular trading
    #   hours only, and format it as "string time zone date". Make it a one-time
    #   query; don't keep it up-to-date.
    req_historical_data_msg = sb.req_historical_data(
        reqId=1,
        contract = Contract({
            'symbol': "AAPL",
            'secType': "STK",
            'exchange': "SMART",
            'currency': "USD"
        }),
        durationStr='30 D',
        barSizeSetting='1 day'
    )
    print(req_historical_data_msg)