def setUp(self):
        self.symbol = 'GOOG'
        self.learn_start_date = dt.datetime(2004,9,1)
        self.learn_end_date = dt.datetime(2011,1,1)
        self.stock_period_start = dt.datetime(2000,1,1)

        now = dt.datetime.now()
        today = dt.datetime(now.year, now.month, now.day)
        # stock_period contains important information like
        # stock period start and the market symbol that was used in training and discolvery
        self.stock_period = StockPeriod(self.symbol, self.stock_period_start, today)

        self.mach_learn = EnsembleLearner.machine_learner_for_features_string(self.symbol, 
                                                                              GOOGF[0], 
                                                                              self.stock_period)
        self.mach_learn.learn_period(self.learn_start_date, self.learn_end_date)
        self.predictions = self.mach_learn.predict_period(dt.datetime(2012,1,1), dt.datetime(2013,1,1))
        self.market_relative_close_data = self.mach_learn.feats.relative_data['close'][self.symbol]
        self.perf = PredictionPerformance(self.predictions, self.market_relative_close_data, 2)
Пример #2
0
from ensemble_learner import EnsembleLearner
from simple_order_gen import SimpleOrderGen
from prediction_performance import PredictionPerformance
import matplotlib.pyplot as plt

symbol = "GOOG"
learn_start_date = dt.datetime(2004, 9, 1)
learn_end_date = dt.datetime(2011, 1, 1)

now = dt.datetime.now()
today = dt.datetime(now.year, now.month, now.day)

stock_period = StockPeriod(symbol, dt.datetime(2000, 1, 1), today)

learners = map(
    lambda fs: EnsembleLearner.machine_learner_for_features_string(symbol, fs, stock_period),
    ensemble_feats.goog_lower_bound8,
)
ensemble = EnsembleLearner(symbol, learn_start_date, learn_end_date, stock_period, learners)
ensemble.learn()

predictions = ensemble.predict_period(dt.datetime(2012, 1, 1), dt.datetime(2013, 1, 1), 0.1)

pp = PredictionPerformance(predictions, ensemble.learners[0].feats.relative_data["close"][symbol], 2)
print "tot return:", pp.tot_return()
print "mean return:", pp.return_mean()
print "std return:", pp.return_std()
print "sharpe's ratio:", pp.sharpe_ratio()

pp.predictions["tot_return"].plot()
plt.show()
Пример #3
0
gse = pickle.load(open(filename, 'r'))
print gse

found_ensemble = gse.found_ensembles[0]
settings = found_ensemble.ensemble_settings

symbol = settings.symbol
learn_start_date = settings.learn_start_time
learn_end_date = settings.learn_end_time

now = dt.datetime.now()
today = dt.datetime(now.year, now.month, now.day)

stock_period = StockPeriod(symbol, settings.stock_period_start, today, data_source = settings.data_source)

first_learners = map(lambda fs: EnsembleLearner.machine_learner_for_features_string(symbol, fs, stock_period),
                     map(lambda x: x.feature_string, found_ensemble.found_forests))

prediction_performances = []
val_prediction_performances = []
another_domain_pp = []

use_another_domain = (settings.predict_cache_end_time == dt.datetime(2013,2,1))

for found_ensemble in gse.found_ensembles:
    all_predictions = map(lambda ff: ff.test_predictions, found_ensemble.found_forests) 
    #all_predictions = [found_ensemble.found_forests[0].test_predictions]
    joined_cached_predicitons = EnsembleLearner.process_predictions(all_predictions, 0.1)
    test_period_predicitons = joined_cached_predicitons[settings.test_start_time:settings.test_end_time]
    #test_period_predicitons = joined_cached_predicitons[settings.val_end_time:(settings.val_end_time + relativedelta(months=1) )]
    pp = PredictionPerformance(test_period_predicitons, first_learners[0].feats.relative_data['close'][symbol], 2)
Пример #4
0
    symbol = sys.argv[1]
else:
    symbol = "GOOG"

symbol = "GOOG"
learn_start_date = dt.datetime(2004, 9, 1)
learn_end_date = dt.datetime(2011, 1, 1)

now = dt.datetime.now()
today = dt.datetime(now.year, now.month, now.day)

stock_period = StockPeriod(symbol, dt.datetime(2000, 1, 1), today)


learners = map(
    lambda fs: EnsembleLearner.machine_learner_for_features_string(symbol, fs, stock_period),
    ensemble_feats.goog_lower_bound8,
)

ensemble = EnsembleLearner(symbol, learn_start_date, learn_end_date, stock_period, learners)
ensemble.learn()

monitor_start = dt.datetime(2012, 1, 1)

predictions = ensemble.predict_period(monitor_start, today, 0.1)

relative_data = ensemble.learners[0].feats.relative_data["close"]["GOOG"]

pp = PredictionPerformance(predictions, relative_data, 2)

history_filename = "buy_google_today_history.pkl"
Пример #5
0
found_ensemble = gse.found_ensembles[int(generation) - 1]
print found_ensemble

settings = found_ensemble.ensemble_settings

symbol = settings.symbol
learn_start_date = settings.learn_start_time
learn_end_date = settings.learn_end_time

now = dt.datetime.now()
today = dt.datetime(now.year, now.month, now.day)

stock_period = StockPeriod(symbol, settings.stock_period_start, today, data_source = settings.data_source)


learners = map(lambda fs: EnsembleLearner.machine_learner_for_features_string(symbol, fs, stock_period),
               map(lambda x: x.feature_string, found_ensemble.found_forests))

ensemble = EnsembleLearner(symbol, 
                           learn_start_date, 
                           learn_end_date, 
                           stock_period, 
                           learners)

ensemble.learn()

#all_predictions = map(lambda ff: ff.test_predictions[settings.test_start_time:settings.test_end_time], found_ensemble.found_forests)

all_predictions = ensemble._period_predictions(settings.test_start_time, settings.test_end_time)

joined_cached_predicitons = ensemble.process_predictions(all_predictions, 0.1)