示例#1
0
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)
示例#2
0
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)
示例#3
0
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)
示例#4
0
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)
示例#5
0
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)
示例#6
0
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)