综合交易模型53多策略同时交易支持同花顺qmt

对系统重新设计了一下,参考qmt通过策略名称来区分不同策略,同时周末完成了聚宽跟单,全部加入了综合模型

综合交易模型53多策略同时交易支持同花顺qmt

综合交易模型53多策略同时交易支持同花顺qmt

目前框架支持的模型,支持自己改源代码自定义

"模型策略":{
        "get_wencai_buy_data":"问财买入股票",
        "get_wencai_sell_data":"问财卖出股票",
        "get_dfcf_zh_buy_stock":"东方财富自选股买入",
        "get_dfcf_zh_sell_stock":"东方财富自选股卖出",
        "run_bond_cov_rend_strategy":"可转债趋势轮动策略",
        "run_limit_trading_strategy":"涨停板策略",
        "run_etf_trend_strategy":"etf趋势轮动策略",
        "run_bond_cov_popularity_strategy":"可转债人气策略",
        "run_stock_sentiment_strategy":"股票人气策略",
        "run_bond_cov_custom_factor_rotation":"可转债自定义因子轮动策略",
        "run_bond_cov_hot_concept_strategy":"运行可转债热门概念策略",
        "run_micro_stock_cap_trend_trading":"微盘股趋势轮动策略",
        "run_tdx_yj_trader_func_1":"通达信警告交易函数1",
        "run_tdx_trader_stock_buy":"通达信自选股买入",
        "run_tdx_trader_stock_sell":"通达信自选股卖出",
        "get_connect_trader_data":"合并交易数据",
        "run_joinquant_trader_strategy_get_simultaneous_stock_hold_models":"聚宽跟单持股模式",
        "run_joinquant_trader_strategy_get_simultaneous_transaction_models":"聚宽跟单成交模式"
    },

支持同花顺,qmt,比如我们选择qmt

对qmt进行配置

"交易系统设置":"*********************************************",
    "交易系统选择":"ths/qmt",
    "交易系统":"qmt",
    "交易品种":"全部",
    "交易品种说明":["stock","fund","bond","全部"],
    "同花顺下单路径":"C:/同花顺软件/同花顺/xiadan.exe",
    "识别软件安装位置":"C:/Program Files/Tesseract-OCR/tesseract",
    "qmt路径":"D:/国金QMT交易端模拟/userdata_mini",
    "qmt账户":"55009640",
    "qmt账户类型":"STOCK",
    "证券公司交易设置":"兼容老牌证券公司可转债1手为单位",
    "是否开启特殊证券公司交易设置":"否",

第二步:选择交易策略

我们只需要策略名称函数比如我们选择同花顺可转债人气策略,同花顺热门可转债趋势轮动2个策略

同花顺人气可转债策略函数名称
run_bond_cov_popularity_strategy

"run_bond_cov_popularity_strategy":"可转债人气策略",
综合交易模型53多策略同时交易支持同花顺qmt

选择可转债热门概念趋势轮动策略函数名称
run_bond_cov_hot_concept_strategy

"run_bond_cov_hot_concept_strategy":"可转债热门概念策略",
综合交易模型53多策略同时交易支持同花顺qmt

第三步:函数名称复制到自定义函数

对于策略类的函数运行类型我们选择定时,比如跟单,通达信警告模块我们都是选择循环类型

如果2个策略间隔时间比较就,在策略后面添加应该合并交易数据函数

比如下面例子

"自定义运行函数设置":"自定义运行函数说明,运行类型有定时和循环,只需要把自定义模块的函数名称放在下面******",
    "自定义函数说明":"定时策略get_connect_trader_data必须保留,跟单通达信警告不需要",
    "自定义函数运行类型":["定时","定时","定时","定时"],
    "自定义函数模块运行时间":["09:45","09:48","14:30","14:33"],
    "自定义函数":["run_bond_cov_popularity_strategy","get_connect_trader_data",
    "run_bond_cov_hot_concept_strategy","get_connect_trader_data"],

如果2个策略间隔比较短,可用保留一个合并数据模块就可用比如

get_connect_trader_data要放在2个策略后面,等2个策略数据更新完成,合并交易数据,就马上开始交易

"自定义运行函数设置":"自定义运行函数说明,运行类型有定时和循环,只需要把自定义模块的函数名称放在下面******",
    "自定义函数说明":"定时策略get_connect_trader_data必须保留,跟单通达信警告不需要",
    "自定义函数运行类型":["定时","定时","定时"],
    "自定义函数模块运行时间":["09:45","09:48","09:50"],
    "自定义函数":["run_bond_cov_popularity_strategy",
    "run_bond_cov_hot_concept_strategy","get_connect_trader_data"],

第四步:点击user_def_models更新交易数据

综合交易模型53多策略同时交易支持同花顺qmt

更新交易数据

综合交易模型53多策略同时交易支持同花顺qmt

同花顺可转债人气交易模型更新的结果

综合交易模型53多策略同时交易支持同花顺qmt

可转债热门趋势概念更新数据,分析热门概念

可转债热度排行

综合交易模型53多策略同时交易支持同花顺qmt

综合交易模型53多策略同时交易支持同花顺qmt

也可用通过我开发我网站看数据

综合交易模型53多策略同时交易支持同花顺qmt

热门概念可转债成分股

综合交易模型53多策略同时交易支持同花顺qmt

可转债热门概念分析出来的可转债

综合交易模型53多策略同时交易支持同花顺qmt

合并2个策略的交易数据,相同的标的保留一个就可以

综合交易模型53多策略同时交易支持同花顺qmt

第五步:运行trader_st开头的策略

进行实盘交易,qmt为例子

综合交易模型53多策略同时交易支持同花顺qmt

开启的模块

综合交易模型53多策略同时交易支持同花顺qmt

下单的结果

综合交易模型53多策略同时交易支持同花顺qmt

下单结果周末不能交易

综合交易模型53多策略同时交易支持同花顺qmt

交易检查

综合交易模型53多策略同时交易支持同花顺qmt

全部的源代码,可用直接下载

合并交易数据函数

def get_connect_trader_data(self):
        '''
        合并买卖数据
        循环类型直接写入,比如通达信警告
        定时策略合并多个数据,比如模型策略
        '''
        import os
        with open('分析配置.json','r+',encoding='utf-8') as f:
            com=f.read()
        text=json.loads(com)
        user_def_func=text['自定义函数']
        user_def_func_name=text['模型策略']
        buy_df=pd.DataFrame()
        sell_df=pd.DataFrame()
        buy_path_list=os.listdir(r'多策略买入股票')
        sell_path_list=os.listdir(r'多策略卖出股票')
        for func in user_def_func:
            name=user_def_func_name[func]
            if func=='run_tdx_yj_trader_func_1':
                print(name,'直接写入买卖数据')
            else:
                #合并买入
                buy_path='{}.xlsx'.format(func)
                if buy_path in buy_path_list:
                    buy=pd.read_excel(r'多策略买入股票\{}'.format(buy_path))
                    if buy.shape[0]>0:
                        print('合并策略{}'.format(name))
                        buy=buy[['证券代码','交易状态','策略名称']]
                        buy_df=pd.concat([buy_df,buy],ignore_index=True)
                    else:
                        print('策略{}没有数据'.format(name))
                #合并卖出
                sell_path='{}.xlsx'.format(func)
                if sell_path in sell_path_list:
                    sell=pd.read_excel(r'多策略卖出股票\{}'.format(sell_path))
                    if sell.shape[0]>0:
                        print('合并策略{}'.format(name))
                        sell=sell[['证券代码','交易状态','策略名称']]
                        sell_df=pd.concat([sell_df,sell],ignore_index=True)
                    else:
                        print('策略{}没有数据'.format(name))
        #多个策略叠加买入一个就可以
        buy_df=buy_df.drop_duplicates(subset=['证券代码'])
        sell_df=sell_df.drop_duplicates(subset=['证券代码'])
        buy_df.to_excel(r'买入股票\买入股票.xlsx')
        print('合并买入股票***********************')
        print(buy_df)
        sell_df.to_excel(r'卖出股票\卖出股票.xlsx')
        print('合并卖出股票***********************')
        print(sell_df)

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/88915
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 18 日
下一篇 2024 年 7 月 18 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注