量化研究---大qmt实盘实现禄得可转债策略轮动

前面写了一个强大的可转债自定义系统,我们可以利用这个快速对接到大qmt,我提供实时数据支持 量化研究---强大的可转债分析系统上线,提供api,实时数据支持

打开网页 http://120.78.132.143:8023/

图片

强大可转债选择系统 http://120.78.132.143:8023/convertible_bond_custom_system_app

图片

点击运行就要禄得一模一样的选股结果

图片

可以点击下载数据看看结果

图片

图片

大qmt怎么样使用只需要建立一个策略把代码放入就可以,比如我建立的禄得策略

图片

点击编辑

图片

我们只需要点击运行就会掉我服务器自动分析,得到选股结果,直接加入轮动就可以

图片

我们只需要修改text的内容就可以和禄得一模一样的

图片

图片

后面大家就可以参考写实盘,我后面继续完善这几天事情多,不懂的可以问我

图片

加我备注入群,可以进入策略研究群,源代码

#encoding:gbkimport pandas as pdimport requestsimport jsonimport numpy as npimport talibclass convertible_bond_stock_selection_system:  def __init__(self,url='http://120.78.132.143',port=8023,password='123456'):    '''    可转债选股系统    url服务器网页    port端口    password授权码    '''    self.url=url    self.port=port    self.password=password  def get_user_info(self):    '''    获取用户信息    '''    url='{}:{}/_dash-update-component'.format(self.url,self.port)    headers={'Content-Type':'application/json'}    data={      "output":"bond_trader_models_table_1.data@25956d89597d08e2116ebf2664b9ff75",      "outputs":{"id":"bond_trader_models_table_1","property":"data@25956d89597d08e2116ebf2664b9ff75"},      "inputs":[{"id":"bond_trader_models_password","property":"value","value":self.password},      {"id":"bond_trader_models_data_type","property":"value","value":"代码"},      {"id":"bond_trader_models_text","property":"value","value":""},      {"id":"bond_trader_models_run","property":"value","value":"运行"},      {"id":"bond_trader_models_down_data","property":"value","value":"不下载数据"}],"changedPropIds":["bond_trader_models_run.value"]}    res=requests.post(url=url,data=json.dumps(data),headers=headers)    text=res.json()    df=pd.DataFrame(text['response']['bond_trader_models_table_1']['data'])    return df  def get_convertible_bond_stock_selection_system(self,text=''):    '''    获取选股的结果    '''    user=self.get_user_info()    print(user)    print('开始分析*************************************')    url='{}:{}/_dash-update-component'.format(self.url,self.port)    headers={'Content-Type':'application/json'}    data={      "output":"bond_trader_models_table.data@25956d89597d08e2116ebf2664b9ff75",      "outputs":{"id":"bond_trader_models_table","property":"data@25956d89597d08e2116ebf2664b9ff75"},      "inputs":[{"id":"bond_trader_models_password","property":"value","value":"123456"},      {"id":"bond_trader_models_data_type","property":"value","value":"代码"},      {"id":"bond_trader_models_text","property":"value","value":"{}".format(text)},      {"id":"bond_trader_models_run","property":"value","value":"运行"},      {"id":"bond_trader_models_down_data","property":"value","value":"不下载数据"}],"changedPropIds":["bond_trader_models_run.value"]}    res=requests.post(url=url,data=json.dumps(data),headers=headers)    text=res.json()    df=pd.DataFrame(text['response']['bond_trader_models_table']['data'])    return df#if __name__=='__main__':  '''  获取数据  '''text={  "可转债溢价率设置":"可转债溢价率设置",  "数据源模式说明":"服务器/自定义 自定义自己直接导入禄得选股的结果,放在自定义数据,支持盘中,盘后选股交易",  "数据源":"服务器",  "更新数据模式说明":"手动/自动",  "更新数据模式":"自动",  "服务器":"http://120.78.132.143",  "端口":"8023",  "授权码":"123456",  "是否测试":"否",  "是否数据没有更新的情况下更新":"是",  "强制赎回设置":"************************",  "是否剔除强制赎回":"是",  "距离强制赎回天数":0,  "排除上市天数":3,  "是否排除ST":"是",  "市场说明":["沪市主板","深市主板","创业板","科创板"],  "排除市场":[],  "行业说明":"查询行业表**********,混合排除不区分一二三级行业",  "排除行业":[],  "企业类型说明":["民营企业","地方国有企业","中央国有企业","外资企业","中外合资经营企业","集体企业"],  "排除企业类型":[],  "排除地域说明":["陕西", "山西", "山东", "河南", "新疆", "安徽", "西藏", "海南", "湖北", "河北",   "福建", "广西", "内蒙古", "浙江", "江西", "江苏", "上海", "贵州", "黑龙江", "湖南", "甘肃",  "宁夏", "云南", "天津", "广东", "四川", "北京", "辽宁", "重庆"],  "排除地域":[],  "排除外部评级说明":["AAA", "AA+", "AA", "AA-", "A+", "A", "A-",  "BBB+", "BBB", "BBB-", "BB+", "BB", "BB-", "B+", "B", "B-", "CCC", "CC"],  "排除外部评级":["B","B-","CCC","CC"],  "排除三方评级说明":["1", "2", "3", "4+", "4", "4-", "5+", "5", "5-", "6+", "6",    "6-", "7+", "7", "7-", "8+", "8", "8-", "9", "10"],  "排除三方评级":["10","9","8"],  "添加排除因子":"排除因子设置************************",  "全部的排除因子打分因子,必须选择可以计算的":["开盘价", "最高价", "最低价", "最新价", "涨跌幅", "5日涨跌幅",  "正股最高价", "正股最低价", "正股最新价", "正股涨跌幅", "正股5日涨跌幅", "成交量(手)",   "成交额(万)", "年化波动率", "正股年化波动率", "股息率", "转股价值", "转股溢价率", "理论转股溢价率",  "修正转股溢价率", "纯债价值", "纯债溢价率", "期权价值", "理论价值", "理论偏离度", "双低",  "剩余规模(亿)", "剩余市值(亿)", "换手率", "市净率", "市盈率_ttm", "市销率_ttm", "正股流通市值(亿)",  "正股总市值(亿)", "资产负债率", "转债市占比", "上市天数", "转股截止日", "剩余年限",   "到期收益率(税前)", "强赎触发比例", "外部评级", "三方评级", "企业类型", "地域", "一级行业", "二级行业", "三级行业"],  "因子计算符号说明":"大于,小于,大于排名%,小于排名%,空值,排除是相反的,大于是小于",  "排除因子":["最新价","最新价","转股溢价率","剩余规模(亿)"],  "因子计算符号":["大于","小于","大于","大于"],  "因子值":[130,100,0.3,8],  "打分因子设置":"*************************************************",  "打分因子说明":"正相关:因子值越大得分越高;负相关:因子值越大得分越低,",  "打分因子":["转股溢价率","最新价","剩余规模(亿)"],  "因子相关性":["负相关","负相关","负相关"],  "因子权重":[1,1,1],  "持有限制":10,  "持股限制":10,  "策略轮动设置":"策略轮动设置************************,轮动都按排名来",  "轮动方式说明":"每天/每周/每月/特别时间",  "轮动方式":"每天",  "说明":"每天按自定义函数运行",  "每周轮动是说明":"每周比如0是星期一,4是星期五**********",  "每周轮动时间":0,  "每月轮动是说明":"必须是交易日,需要自己每个月自动输入**********",  "每月轮动时间":["2024-02-29","2024-02-29","2024-02-29","2024-02-29","2024-02-29","2024-02-29","2024-02-29"],  "特定时间说明":"特别的应该交易日",  "特定时间":["2024-02-23","2024-02-24","2024-02-25","2024-02-26","2024-02-27"],  "轮动规则设置":"轮动规则设置88888888**********排名",  "买入排名前N":10,  "持有排名前N":10,  "跌出排名卖出N":10,  "买入前N":10,  "自定义因子模块":"自定义因子模块设置***********************",  "是否开启自定义因子":"否",  "自定义因子":{  "5日收益":"return_5()",  "均线金叉":"ma_gold_fork()",  "macd金叉":"macd_gold_fork()"}}
def init(ContextInfo):  print('*********************8')  ContextInfo.accID = '55011917'  ContextInfo.accType='STOCk'  ContextInfo.buy = True  ContextInfo.sell = False  ContextInfo.models=convertible_bond_stock_selection_system()  ContextInfo.df=ContextInfo.models.get_convertible_bond_stock_selection_system(text=text)  print(ContextInfo.df)  #利用定时函数运行  #ContextInf.run_time()      def handlebar(ContextInfo):  pass

综合交易模型54

综合交易模型 · 目录

上一篇综合交易模型--雪球跟单参数说明支持qmt,同花顺

QMT(Quantitative Multi-thread Trading)是国泰君安推出的量化交易平台,支持编写程序化交易策略。MACD金叉是一种常见的技术指标信号,表示短期均线向上穿越长期均线,通常被视为买入信号。 下面是一个基于QMT平台实现MACD金叉交易的基本代码框架: ```python # 定义策略类并初始化参数 class MACDJinchaStrategy: def __init__(self): self.fast_period = 12 # 快速线周期 self.slow_period = 26 # 慢速线周期 self.signal_period = 9 # 信号线周期 def on_bar(self, bar_data): # 计算MACD值 macd, signal, hist = talib.MACD(bar_data['close'], fastperiod=self.fast_period, slowperiod=self.slow_period, signalperiod=self.signal_period) # 判断是否发生金叉 if len(signal) > 1 and macd[-1] > signal[-1] and macd[-2] <= signal[-2]: print("MACD 发生金叉") # 执行买入操作 (需替换为您账户的际下单函数) order_buy(symbol="目标股票", quantity=100) elif len(signal) > 1 and macd[-1] < signal[-1] and macd[-2] >= signal[-2]: print("MACD 发生死叉") # 执行卖出操作 (需替换为您账户的际平仓函数) order_sell(symbol="目标股票", quantity=100) # 际运行部分 if __name__ == '__main__': strategy_instance = MACDJinchaStrategy() # 假设bar_data是从行情推送获取的数据 while True: latest_bar = get_latest_market_data() # 获取最新K线数据 strategy_instance.on_bar(latest_bar) ``` 注意:以上代码仅为示例结构,在际部署之前需要调整适配您的环境、证券品种以及风险控制需求等细节内容,并经过充分测试后再投入生产!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xg_quant

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值