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.