diff --git a/requirements.txt b/requirements.txt index acddf6d..461f1bf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,3 @@ pandas==0.19.2 pandas_datareader>=0.3.0 -ta-lib==0.4.10 numpy==1.12.1 \ No newline at end of file diff --git a/scraper.py b/scraper.py index f63af14..6730397 100644 --- a/scraper.py +++ b/scraper.py @@ -4,13 +4,11 @@ import scraperwiki as scraperwiki from dateutil import relativedelta -from talib import SMA import numpy as np import os import pandas as pd import pandas_datareader.data as web - TO_DATE = datetime.now() FROM_DATE = TO_DATE - relativedelta.relativedelta(months=12) @@ -52,9 +50,11 @@ MY_SHORT_MAV_TIME_PERIOD = int(os.environ['MORPH_MY_SHORT_MAV_TIME_PERIOD']) MY_MAV_TIME_PERIOD = int(os.environ['MORPH_MY_MAV_TIME_PERIOD']) + for sec in pricing_data.keys(): - pricing_data[sec]["MY_MAV"] = SMA(pricing_data[sec]["Close"].values, timeperiod=MY_MAV_TIME_PERIOD) - pricing_data[sec]["MY_SHORT_MAV"] = SMA(pricing_data[sec]["Close"].values, timeperiod=MY_SHORT_MAV_TIME_PERIOD) + pricing_data[sec]["MY_MAV"] = pricing_data[sec]["Close"].rolling(window=MY_MAV_TIME_PERIOD, center=False).mean() + pricing_data[sec]["MY_SHORT_MAV"] = pricing_data[sec]["Close"].rolling(window=MY_SHORT_MAV_TIME_PERIOD, + center=False).mean() pricing_data[sec]["MY_RSI"] = pricing_data[sec]["MY_SHORT_MAV"] - pricing_data[sec]["MY_MAV"] pricing_data[sec]["MY_RSI_RANK"] = pricing_data[sec]["MY_RSI"].rank(pct=True, method='average').round(2) - 0.01 pricing_data[sec]["Days_Over_Under"] = np.where(pricing_data[sec]["MY_SHORT_MAV"] > pricing_data[sec]["MY_MAV"], 1, @@ -93,5 +93,3 @@ # Save in the database for index, row in sorted_winners.iterrows(): scraperwiki.sqlite.save(unique_keys=['Code', 'date'], data=row.to_dict()) - -