def main(args): exec "import main.pandas_talib.sig_%s as conf" % args.signame build.work2(20, 'sp500Top50', args.signame) df = base.get_merged(conf.__name__, yeod.get_sp500Top50()) df.to_csv("ta.csv") tree = DecisionTreeClassifier() feat_names = base.get_feat_names(df) dfTrain = df[(df.date>='1970-01-01') & (df.date <='2009-12-31')] npTrainFeat = dfTrain.loc[:,feat_names].values.copy() npTrainLabel = dfTrain.loc[:,"label5"].values.copy() npTrainLabel[npTrainLabel > 1.0] = 1 npTrainLabel[npTrainLabel < 1.0] = 0 tree.fit(npTrainFeat, npTrainLabel) joblib.dump(tree, "tree.pkl", compress = 3) dfTest = df[(df.date>='2010-01-01') & (df.date <='2099-12-31')] npTestFeat = dfTest.loc[:, feat_names].values.copy() npPred = tree.predict_proba(npTestFeat) dfTest.loc[:,"pred"] = npPred[:,1] print dfTest['pred'].head() dfPos = dfTest[ dfTest['pred'] > 0.55 ] print 1.0 * len(dfPos[dfPos['label5']>1]) / len(dfPos) print 1.0 * len(dfTest[dfTest['label5']>1]) / len(dfTest)
def main(args): exec "import main.pandas_talib.sig_%s as conf" % args.signame build.work2(20, 'sp500Top50', args.signame) df = base.get_merged(conf.__name__, yeod.get_sp500Top50()) df2 = df[df["ta_sig_%s" % args.signame] > 0] print ana(df, df2) print len(df), len(df2), len(df2[df2["label5"] > 1]) * 1.0 / len(df2), len( df[df["label5"] > 1]) * 1.0 / len(df) dfT1 = df[df["date"] <= '2009-12-31'] dfT2 = dfT1[dfT1["ta_sig_%s" % args.signame] > 0] print len(dfT1), len(dfT2), len( dfT2[dfT2["label5"] > 1]) * 1.0 / len(dfT2), len( dfT1[dfT1["label5"] > 1]) * 1.0 / len(dfT1) dfT1 = df[df["date"] > '2009-12-31'] dfT2 = dfT1[dfT1["ta_sig_%s" % args.signame] > 0] print len(dfT1), len(dfT2), len( dfT2[dfT2["label5"] > 1]) * 1.0 / len(dfT2), len( dfT1[dfT1["label5"] > 1]) * 1.0 / len(dfT1) dfT1 = df[(df["date"] > '2001-12-31') & (df['date'] <= '2009-12-31')] dfT2 = dfT1[dfT1["ta_sig_%s" % args.signame] > 0] print len(dfT1), len(dfT2), len( dfT2[dfT2["label5"] > 1]) * 1.0 / len(dfT2), len( dfT1[dfT1["label5"] > 1]) * 1.0 / len(dfT1)
def main(args): exec "import main.pandas_talib.sig_%s as conf" % args.signame build.work2(20, 'sp500Top50', args.signame) df = base.get_merged(conf.__name__, yeod.get_sp500Top50()) df.to_csv("ta.csv") tree = DecisionTreeClassifier() feat_names = base.get_feat_names(df) dfTrain = df[(df.date >= '1970-01-01') & (df.date <= '2009-12-31')] npTrainFeat = dfTrain.loc[:, feat_names].values.copy() npTrainLabel = dfTrain.loc[:, "label5"].values.copy() npTrainLabel[npTrainLabel > 1.0] = 1 npTrainLabel[npTrainLabel < 1.0] = 0 tree.fit(npTrainFeat, npTrainLabel) joblib.dump(tree, "tree.pkl", compress=3) dfTest = df[(df.date >= '2010-01-01') & (df.date <= '2099-12-31')] npTestFeat = dfTest.loc[:, feat_names].values.copy() npPred = tree.predict_proba(npTestFeat) dfTest.loc[:, "pred"] = npPred[:, 1] print dfTest['pred'].head() dfPos = dfTest[dfTest['pred'] > 0.55] print 1.0 * len(dfPos[dfPos['label5'] > 1]) / len(dfPos) print 1.0 * len(dfTest[dfTest['label5'] > 1]) / len(dfTest)
def main(args): build.work2(10, "sp500Top50", sig_macd) dfTa = base.get_merged("sig_macd", yeod.get_sp500Top50()) dfTa1 = dfTa[(dfTa["date"] < "2010-01-01")] #dfTa = dfTa[(dfTa["date"] >= "2010-01-01") & (dfTa["date"]<="2010-12-31")] #dfTa = dfTa[(dfTa["date"]>"2010-12-31")] dfTa2 = dfTa1[dfTa1["ta_macd_signal_%d_%d" % (fast, slow)] > 0] print len(dfTa2[dfTa2["label5"] > 1.0]) * 1.0 / len(dfTa2), print len(dfTa2[dfTa2["label5"] > 1.0]) * 1.0, print len(dfTa1[dfTa1["label5"] > 1.0]) * 1.0 / len(dfTa1) dfTa1 = dfTa[(dfTa["date"] > "2010-01-01")] dfTa2 = dfTa1[dfTa1["ta_macd_signal_%d_%d" % (fast, slow)] > 0] print len(dfTa2[dfTa2["label5"] > 1.0]) * 1.0 / len(dfTa2), print len(dfTa2[dfTa2["label5"] > 1.0]) * 1.0, print len(dfTa1[dfTa1["label5"] > 1.0]) * 1.0 / len(dfTa1)
def main(args): build.work2(10, "sp500Top50", sig_macd) dfTa = base.get_merged("sig_macd", yeod.get_sp500Top50()) dfTa1 = dfTa[(dfTa["date"] < "2010-01-01")] #dfTa = dfTa[(dfTa["date"] >= "2010-01-01") & (dfTa["date"]<="2010-12-31")] #dfTa = dfTa[(dfTa["date"]>"2010-12-31")] dfTa2 = dfTa1[dfTa1["ta_macd_signal_%d_%d" % (fast, slow)]>0] print len(dfTa2[dfTa2["label5"]>1.0])*1.0/len(dfTa2), print len(dfTa2[dfTa2["label5"]>1.0])*1.0, print len(dfTa1[dfTa1["label5"]>1.0])*1.0/len(dfTa1) dfTa1 = dfTa[(dfTa["date"] > "2010-01-01")] dfTa2 = dfTa1[dfTa1["ta_macd_signal_%d_%d" % (fast, slow)]>0] print len(dfTa2[dfTa2["label5"]>1.0])*1.0/len(dfTa2), print len(dfTa2[dfTa2["label5"]>1.0])*1.0, print len(dfTa1[dfTa1["label5"]>1.0])*1.0/len(dfTa1)
def main(args): exec "import main.pandas_talib.sig_%s as conf" % args.signame build.work2(20, 'sp500Top50', args.signame) df = base.get_merged(conf.__name__, yeod.get_sp500Top50()) df2 = df[df["ta_sig_%s" % args.signame]>0] print ana(df,df2) print len(df), len(df2), len(df2[df2["label5"]>1]) *1.0/len(df2) , len(df[df["label5"]>1]) *1.0/len(df) dfT1 = df[df["date"] <= '2009-12-31'] dfT2 = dfT1[dfT1["ta_sig_%s" % args.signame]>0] print len(dfT1), len(dfT2), len(dfT2[dfT2["label5"]>1]) *1.0/len(dfT2) , len(dfT1[dfT1["label5"]>1]) *1.0/len(dfT1) dfT1 = df[df["date"] > '2009-12-31'] dfT2 = dfT1[dfT1["ta_sig_%s" % args.signame]>0] print len(dfT1), len(dfT2), len(dfT2[dfT2["label5"]>1]) *1.0/len(dfT2) , len(dfT1[dfT1["label5"]>1]) *1.0/len(dfT1) dfT1 = df[(df["date"] > '2001-12-31') & (df['date']<='2009-12-31') ] dfT2 = dfT1[dfT1["ta_sig_%s" % args.signame]>0] print len(dfT1), len(dfT2), len(dfT2[dfT2["label5"]>1]) *1.0/len(dfT2) , len(dfT1[dfT1["label5"]>1]) *1.0/len(dfT1)