def run(): fpath = env.get_root_path() for code in stock.get_codes(): fname = '/datasources/%s.csv' % (code) fname = fpath + fname df = stock.getFiveHisdatDf(code) df.to_csv(fname)
def main_run(): cpu_num = 2 codes = stock.get_codes(stock.myenum.randn, cpu_num) #agl.startDebug() if agl.IsDebug(): codes = [jx.HCGD] exec(agl.Marco.IMPLEMENT_MULTI_PROCESS)
def main(): code = stock.get_codes(stock.myenum.randn, 1)[0] points = [] df_result = pd.DataFrame([]) for i, df in enumerate(mydata(code)): df_result, sign = find_trade_pos(df, df_result, code, i) if sign: points.append(i) #print(points) fname = 'out/myadx_%s.csv' % (code) agl.createDir(os.path.dirname(os.path.abspath(fname))) df_result.to_csv(fname) #查看信号出现的概率 x = np.arange(len(mydata(code))) y = np.zeros(len(x)) y[points] = 1 pl.scatter(x, y) pl.show() #统计出现的概率 print(len(points) / len(x)) count = 0 for i in range(1, len(points)): if points[i] - points[i - 1] > 1: count += 1 print(count)
def test_strategy(): cpu_num = 2 codes = stock.get_codes(flag=myenum.randn, n=cpu_num) #codes = ['300434'] #agl.startDebug() #if agl.IsDebug(): #codes = [jx.ZCKJ.b] backtest_policy.MultiProcessRun(cpu_num, codes, Run, __file__)
def main_run(): cpu_num = 2 assert (myredis.createRedis() is not None) codes = stock.get_codes(stock.myenum.randn, cpu_num) #agl.startDebug() #if agl.IsDebug(): #codes = [jx.HCGD华灿光电] exec(agl.Marco.IMPLEMENT_MULTI_PROCESS)
def BackTesting(): p = backtest_runner.BackTestPolicy() codes = stock.get_codes() codes = [u'002440'] p.SetStockCodes(codes) backtesting = backtest_policy.Backtest() backtesting.createAccount(account_type=None, username=None, pwd=None) p.Regist(Strategy(backtesting, is_backtesting=True)) p.Run('2014-11-1', '2014-12-10')
def main_run(): cpu_num = 2 if myredis.createRedis() is None: cpu_num = 1 codes = stock.get_codes(stock.myenum.randn, cpu_num) #agl.startDebug() #if agl.IsDebug(): #codes = [jx.ZCKJ至纯科技] exec(agl.Marco.IMPLEMENT_MULTI_PROCESS)
def test_strategy(): cpu_num = 2 if myredis.createRedis() is None: cpu_num = 1 codes = stock.get_codes(flag=myenum.randn, n=cpu_num) #codes = ['300434'] #agl.startDebug() #if agl.IsDebug(): #codes = [jx.ZCKJ.b] exec(agl.Marco.IMPLEMENT_MULTI_PROCESS)
def main(): codes = [jx.NDSD宁德时代, jx.PAYH平安银行] codes = stock.get_codes(stock.myenum.randn, n=10) #codes = codes[:10] pl.myimgs += "<table>" for code in codes: pl.myimgs += "<tr><td><table>" run(code) pl.myimgs += "</table></td></tr>" pl.myimgs += "</table>" print(g_c2, count)
def example2(): """测试排版输出, 让单元数据在一行内""" from autoxd import stock import pandas as pd print(example2.__doc__) pl = Publish(explicit=True) codes = stock.get_codes(flag=stock.myenum.randn, n=6) result = [] for code in codes: df_five = stock.getFiveHisdatDf(code, method='tdx') df_five.plot() pl.show() pl.close() img_name = pl.get_CurImgFname() result.append([code, img_name, img_name]) df = pd.DataFrame(result) pl.reset(df_to_html_table(df, df_img_col_indexs=[-2, -1])) pl.publish()
def recog_boll(pl, report_list): from autoxd import stock_pinyin as jx codes = [jx.HCGD, jx.HYGY] codes = stock.get_codes(stock.myenum.randn, 2) #import tushare_handle as th up1 = get_upper(codes[0]) up2 = get_upper(codes[1]) #print(len(up1), len(up2)) n = 30 a = up1[-n:] b = up2[-n:] a = stock.GuiYiHua(a - np.min(a)) b = stock.GuiYiHua(b - np.min(b)) v = pearson(a, b) df = pd.DataFrame(a) df['2'] = b df.plot() pl.show() fimg = pl.get_CurImgFname() report_list.append([v, fimg])
parser = optparse.OptionParser() parser.add_option('--single', dest='single', action="store_true", help='单进程执行') parser.add_option('--multi', dest='multi', action="store_true", help="多进程执行") parser.add_option('--second', dest='second', action="store_true", help="第二阶段") parser.add_option('--genimg', dest='genimg', action="store_true", help="生成图片文件") parser.add_option('--code', dest='code', action="store", type="string", help="get codes") options, args = parser.parse_args(sys.argv[1:]) #run() agl.tic() if options.code is not None: code = options.code if code == 'next': code = MyCode.get() codes = stock.get_codes() codes = np.array(codes) index = int(np.argwhere(codes == code)) if index +1 < len(codes): code = codes[index+1] MyCode.set(code) print("index=%d"%(index)) else: print("end") else: MyCode.set(code) print("current_code=%s"%(code)) else: print('\t--single\t单进程执行\n\t--multi\t多进程执行\n\t--second \t第二阶段\n\t--code=code or next\t\n') #run_myclust()