Skip to content

Data Feed Update

Compare
Choose a tag to compare
@mrconway mrconway released this 17 Nov 21:03
· 73 commits to master since this release

This release contains the following features:

  • The market section of the market.yml file has been augmented with the fields subschema, api_key_name, and api_key. Subschema refer to specific feeds within a service. For example, WIKI is a stock feed within Quandl, so schema is set to the value quandl and subschema is set to wiki. We have also added API keys, which are required to access IEX and Quandl. The api_key_name is an environment variable defined by the platform, and you must register for an API key, inserting the api_key value as shown in the example below.
market:
    create_model    : True
    data_fractal    : 1w
    data_history    : 2000
    forecast_period : 1
    fractal         : 1d
    lag_period      : 1
    leaders         : []
    predict_history : 50
    schema          : iex
    subschema       :
    api_key_name    : IEX_TOKEN
    api_key         : xx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    subject         : stock
    target_group    : tech
  • IEX data has been migrated to the cloud and requires an API key. We use the Python package iexfinance to get historical daily and intraday data. Because of the different pricing tiers, you may run out of quota if you are still on the free tier.

  • Yahoo daily data is still available through pandas-datareader (no API key required), and intraday data is rate-limited via a custom Yahoo URL.

  • There are other sources of stock prices via pandas-datareader. Depending upon the API, we may or may not support these specific feeds.

  • The Quandl WIKI feed discontinued its daily prices, but you can still get historical data before March 27th, 2018.

  • The Google Finance API is no longer available.

  • Note that AlphaPy fetches all of its data with the aforementioned feeds on the fly, but if you get historical prices elsewhere, then you can drop the files in the data directory (use schema data), and AlphaPy will automatically load these data for you.

  • We recommend using the IEX for your primary data feed, but you can use Yahoo if you just need daily data.

  • AlphaPy used to expect separate files for both train and test data. Now, you can provide a single train file, and this file will be split into train and test. You can adjust the split ratio in the model.yml file.

  • When AlphaPy runs in prediction mode, it uses predict_history from the market.yml file to build those features that require data from previous time periods, e.g., a 50-day moving average. Thus, the predict_history field should be set to the number of time periods for the feature that goes furthest back in time. (N.B. This does not apply to model training, which was a bug fixed in this release.)

  • The package joblib is now imported directly, and many of the multiprocessing bugs seem to have been fixed.

  • A bug for dropping columns has been fixed.