基于聚宽量化交易平台实现量化交易策略休耕

#导入函数库importjqdata#初始化函数,设定基准definitialize(context):#定义一个全局变量,保存要操作的股票#方式一:操作一只股票#g.security='601318.XSHG'#中国平安股票#方式二:操作多只股票#g.security=['601101.XSHG','601106.XSHG']#方式三:操作指数成分股g.security=get_index_stocks('000300.XSHG')#沪深300print(g.security)执行显示沪深300指数成分股:

开启真实价格回测功能很简单,只需一步即可搞定:在initialize中使用set_option。

#导入函数库importjqdata#初始化函数,设定基准definitialize(context):#定义一个全局变量,保存要操作的股票#方式一:操作一只股票#g.security='601318.XSHG'#中国平安股票#方式二:操作多只股票#g.security=['601101.XSHG','601106.XSHG']#方式三:操作指数成分股g.security=get_index_stocks('000300.XSHG')#沪深300set_option('use_real_price',True)由于沪深300不存在分红和股票拆合,显示效果和上图一致。

在模拟交易中,在未开启动态复权(真实价格)模式时,我们是使用基于模拟交易创建日期的后复权价格。

后复权模式示意图如下图所示:

不开启真实价格模拟盘的运算结果是没有错误,只是会理解起来更费劲一些。

如果想知道今天的真实价格,还需知道模拟创建的日期,并进行复权计算。为了让用户使用更便于理解、更真实的模拟系统,强烈建议开启动态复权(真实价格)模式。开启方式:在代码中调用set_option('use_real_price',True)。

开启动态复权(真实价格)模式示意图如下图所示:

开启动态复权(真实)模式后,看到的价格都是最新的,每到新的一天,如果持仓中有股票发生了拆合或者分红或者其他可能影响复权因子的情形,会根据复权因子自动调整股票的数量.。但不要跨日期缓存这些API返回的结果。

交易税费包含券商手续费和印花税。可以通过set_order_cost来设置具体的交易税费的参数。

set_order_cost(cost,type,ref=None)修改代码如下所示:

#导入函数库importjqdata#初始化函数,设定基准definitialize(context):#定义一个全局变量,保存要操作的股票#方式一:操作一只股票#g.security='601318.XSHG'#中国平安股票#方式二:操作多只股票#g.security=['601101.XSHG','601106.XSHG']#方式三:操作指数成分股g.security=get_index_stocks('000300.XSHG')#沪深300set_option('use_real_price',True)#股票类每笔交易时的手续费是:买入时佣金万分之三,卖出时佣金万分之三加千分之一印花税,每笔交易佣金最低扣5块钱set_order_cost(OrderCost(#OrderCost对象open_tax=0,#买入时印花税close_tax=0.001,#卖出时印花税open_commission=0.0003,#买入时佣金close_commission=0.0003,#卖出时佣金close_today_commission=0,#平今日仓佣金min_commission=5#最低佣金),type='stock'#股票)(1)券商手续费中国A股市场目前为双边收费,券商手续费系默认值为万分之三,即0.03%,最少5元。

印花税对卖方单边征收,对买方不再征收,系统默认为千分之一,即0.1%。

注意:针对特定的交易品种类别设置手续费时,必须将ref设为None;若针对特定的交易品种或者标的,需要将type设置为对应的交易品种类别,将ref设置为对应的交易品种或者标的。

该函数在回测中的非交易日是不会触发的(如回测结束日期为2016年1月5日,则程序在2016年1月1日-3日时,handle_data不会运行,4日继续运行)。

#导入函数库importjqdata#初始化函数,设定基准definitialize(context):#定义一个全局变量,保存要操作的股票#方式一:操作一只股票#g.security='601318.XSHG'#中国平安股票#方式二:操作多只股票#g.security=['601101.XSHG','601106.XSHG']#方式三:操作指数成分股g.security=get_index_stocks('000300.XSHG')#沪深300set_option('use_real_price',True)#股票类每笔交易时的手续费是:买入时佣金万分之三,卖出时佣金万分之三加千分之一印花税,每笔交易佣金最低扣5块钱set_order_cost(OrderCost(#OrderCost对象open_tax=0,#买入时印花税close_tax=0.001,#卖出时印花税open_commission=0.0003,#买入时佣金close_commission=0.0003,#卖出时佣金close_today_commission=0,#平今日仓佣金min_commission=5#最低佣金),type='stock'#股票)defhandle_data(context,data):print('Hello')执行效果如下所示:

该方法返回值是一个dict,其中key是股票代码,value是拥有最新价、涨停价、跌停价等属性对象。

value值对应的属性对象:

defhandle_data(context,data):print(get_current_data()['601318.XSHG'].name,get_current_data()['601318.XSHG'].industry_code,get_current_data()['601318.XSHG'].day_open,get_current_data()['601318.XSHG'].high_limit,get_current_data()['601318.XSHG'].low_limit,)输出结果如下所示:

attribute_history:获取历史数据,可查询单个标的多个数据字段,返回数据格式为DataFrame或Dict(字典)。

attribute_history(security,count,unit='1d',fields=['open','close','high','low','volume','money'],skip_paused=True,df=True,fq='pre')查看某一支股票的历史数据,可以选这只股票的多个属性,默认跳过停牌日期。当取天数据时,不包括当天的,即使是在收盘后;分钟数据包括当前分钟的数据;

defhandle_data(context,data):#print(#get_current_data()['601318.XSHG'].name,#get_current_data()['601318.XSHG'].industry_code,#get_current_data()['601318.XSHG'].day_open,#get_current_data()['601318.XSHG'].high_limit,#get_current_data()['601318.XSHG'].low_limit,#)print(attribute_history('601318.XSHG',#股票代码5#每天返回前5天的历史数据))执行显示效果如下:

按股数下单。

order(security,amount,style=None,side='long',pindex=0,close_today=False)买卖标的。调用成功后,您将可以调用[get_open_orders]取得所有未完成的交易,也可以调用[cancel_order]取消交易。

-security:标的代码-amount:交易数量,正数表示买入,负数表示卖出-style:参见[OrderStyle](#OrderStyle),None代表MarketOrder-side:'long'/'short',操作多单还是空单。默认为多单,**股票、基金暂不支持开空单**。-pindex:在使用set_subportfolios创建了多个仓位时,指定subportfolio的序号,从0开始,比如0指定第一个subportfolio,1指定第二个subportfolio,**默认为0**。-close_today:平今字段,close_today:平今字段,仅对上海国际能源中心,上海期货交易所,中金所生效,其他交易所将会报错(其他交易所没有区分平今与平昨,均按照先开先平的方法处理)。-对上海国际能源中心,上海期货交易所,中金所的标的:-close_today=True,只平今仓-close_today=False,优先平昨仓,昨仓不足部分平进仓**返回**Order对象或者None,如果创建订单成功,则返回Order对象,失败则返回None(2)买入下单示例defhandle_data(context,data):#每天买入100股order('601318.XSHG',100)显示效果:

需要注意,开仓股票数量必须是100的整数倍,如果设置为110,会自动调整为100。

order_value按价值下单。

order_value(security,value,style=None,side='long',pindex=0,close_today=False)(1)参数-security:股票名字-value:股票价值,value=最新价*手数*保证金率(股票为1)*乘数(股票为100)-style:参见[OrderStyle](#OrderStyle),None代表MarketOrder-side:'long'/'short',操作多单还是空单。默认为多单。默认为多单,**股票、基金暂不支持开空单**。-pindex:在使用set_subportfolios创建了多个仓位时,指定subportfolio的序号,从0开始,比如0为指定第一个subportfolio,1为指定第二个subportfolio,**默认为0**。-close_today:平今字段,close_today:平今字段,仅对上海国际能源中心,上海期货交易所,中金所生效,其他交易所将会报错(其他交易所没有区分平今与平昨,均按照先开先平的方法处理)。-对上海国际能源中心,上海期货交易所,中金所的标的:-close_today=True,只平今仓-close_today=False,优先平昨仓,昨仓不足部分平进仓**返回**Order对象或者None,如果创建委托成功,则返回Order对象,失败则返回None(2)示例defhandle_data(context,data):#每天花10000买股票order_value('601318.XSHG',10000)显示效果:

order_target(security,amount,style=None,side='long',pindex=0,close_today=False)买卖标的,使最终标的的数量达到指定的amount,注意使用此接口下单时若指定的标的有未完成的订单,则先前未完成的订单将会被取消。

-security:标的代码-amount:期望的最终数量-style:参见[OrderStyle](#OrderStyle),None代表MarketOrder-side:'long'/'short',操作多单还是空单。默认为多单。默认为多单,**股票、基金暂不支持开空单**。-pindex:在使用set_subportfolios创建了多个仓位时,指定subportfolio的序号,从0开始,比如0为指定第一个subportfolio,1为指定第二个subportfolio,**默认为0**。-close_today:平今字段,close_today:平今字段,仅对上海国际能源中心,上海期货交易所,中金所生效,其他交易所将会报错(其他交易所没有区分平今与平昨,均按照先开先平的方法处理)。-对上海国际能源中心,上海期货交易所,中金所的标的:-close_today=True,只平今仓-close_today=False,优先平昨仓,昨仓不足部分平进仓**返回**Order对象或者None,如果创建委托成功,则返回Order对象,失败则返回None(2)示例#卖出平安银行所有股票order_target('000001.XSHE',0)#买入平安银行所有股票到100股order_target('000001.XSHE',100)6、目标价值下单order_target_value(security,value,style=None,side='long',pindex=0,close_today=False)调整标的仓位到value价值,金融期货暂不支持该API。

注意使用此接口下单时若指定的标的有未完成的订单,则先前未完成的订单将会被取消。

-security:标的名字-value:期望的标的最终价值,value=最新价*手数*保证金率(股票为1)*乘数(股票为100)-style:参见[OrderStyle](#OrderStyle),None代表MarketOrder-side:'long'/'short',操作多单还是空单。默认为多单。-pindex:在使用set_subportfolios创建了多个仓位时,指定subportfolio的序号,从0开始,比如0为指定第一个subportfolio,1为指定第二个subportfolio,**默认为0**。(2)示例#卖出平安银行所有股票order_target_value('000001.XSHE',0)#调整平安银行股票仓位到10000元价值order_target_value('000001.XSHE',10000)三、实现一个简单量化策略1、策略内容设置股票池为沪深300的所有成分股

如果当前股价小于10元/股且当前不持仓,则买入;

如果当前股价比买入时上涨了25%,则清仓止盈;

如果当前股价比买入时下跌了10%,则清仓止损。

红线是基准收益,set_benchmark方法可用来设置基准。表示的是从买入第一天开始持仓一直到最后的收益。

蓝线是策略收益,在这里可以很清楚看到策略收益小于基准收益,说明该交易策略不可行。

THE END
1.10元微期货正规平台下载,精通技术指标的高手带你选股,看准10元微本炒股高手擅长利用各种技术指标公式,为您选出合适的股票。即刻获取10元微期货正规平台下载,赢取更多投资机会! ,理想股票技术论坛https://www.55188.com/topics-2563967.html
2.正规期货交易平台app排行榜(正规期货交易平台app排行榜前十名)2、创元期货App是期货投资者的综合服务平台,提供农产品、贵金属、能源化工等品种的开户、交易、行情分析及资讯服务,致力于打造安全可靠的期货交易软件。长江期货开户交易是集期货开户、行情、交易、资讯、投教等功能于一体的综合平台,长江期货作为长江证券的子公司,提供专业的金融衍生品与风险管理服务。 http://h5.hainanwx.cn/qkl/4126.html
3.出售资本市场小版10元7版2024-10-10 12:24:00 资本市场小版 好品 100 9元 其他 吴倩chihiro 北京王平 交割成功 2024-09-27 16:42:41 资本市场小版 好品 200 9元 其他 杨靖 匿名交易 交割成功 2024-07-21 11:54:33 资本市场小版 好品 100 10元 沪 烟鬼 匿名交易 交割成功 2024-07-19 20:27:41 资本市场小版 好品 29http://ybk001.com/trade/2024121413191661647
4.微交易微交易还能玩吗10元期货交易恒指平台微交易(www.9ixf.com)是一个针对广大微交易投资者开创的免费学习微交易技巧网站,覆盖十元期货交易赚钱技巧,微交易最新恒指平台投资,微交易1分钟30秒平台开户,是目前国内微交易正规学习网站,也是微交易新手投资者开始的投资的一步。https://www.9ixf.com/
5.贵金属平台哪个好10元期货交易app对于"平台哪个好"这个问题感兴趣的朋友应该很多,这个也是目前大家比较关注的问题,那么下面小好小编就了一些"贵金属平台哪个好"相关软件,来分享给大家希望能够帮助到你哦。 1.掌上贵金属(掌上贵金属软件)软件类型:安卓APP 软件页面:https://duote.com/android/1015952.html点击下载 https://www.duote.com/tech/rjxz/271610.html
6.V策财经其中,华北沙河地区5mm大板价格小幅上涨4元/吨至1200元/吨,市场成交有所好转;而东北地区受降温雨雪天气影响,价格略有松动,下调10元/吨至1280元/吨;其他地区下游需求仍以刚需采购为主,市场氛围相对平淡。整体来看,当前浮法玻璃市场供需格局未见明显改善,尽管部分区域出现小幅波动,但总体成交情况未有显著提振。http://www.i-vce.com/
7.AppStore上的“金榕树极速版——金榕树极速版,炒黄金炒白银,贵金属交易专家—— ---新手专享,开户交易送红包 ---T+0,多空撮合交易无点差 ---10倍杠杆,1元当10元用 ---推荐好友,赢取现金红包 为什么选择金榕树极速版? 【正规合法】中国唯一合法黄金现货交易所——上海黄金交易所0261号金融类会员 【资金安全】交易账户资金银行托管,出金/https://apps.apple.com/cn/app/id1434809323
8.200元一手小恒指期货平台(华闻期货app下载)–比特币行情恒指期货开户有两种方式:一种是去香港办理恒指期货全资账户,一种是在国内的**平台办理恒指期货子账户。无论您开的是哪种账户,真正的恒指期货交易商都会在香港***有期货交易牌照。 币安Binance 全球知名数字货币交易所,手机即可买比特币,10元买比特币,1元买NFT! https://www.btchangqing.cn/512188.html
9.非法搭建的“接码平台”,黑灰产业链原形毕露!电信网络诈骗花样百利用虚假交易平台诱骗期货投资 “老师,按照你的方法,我投资成功了,平台返了我XX元”“我也是,谢谢老师指导”你身边是否也有这样的投资群,小心了,你以为的期货投资群,可能除了你都是托! 2020年11月,黄某、葛某等五人组建了一个工作室,诱骗他人在某APP上投资转账,以此收取平台上线的返利。工作室成员组成微信群,由https://new.qq.com/rain/a/20220704A02Z5400
10.微信看涨跌30秒平台,10元微交易平台排行榜微交易30秒涨跌盘平台懂得了玩微交易需要注意的事项,那么就要选择一个平台来进行实际操作。在国内的投资者关注10元微交易平台排行榜,从排行榜中选择优秀的平台。 1.宝盛微交易 宝盛微交易主要提供微交易金融衍生产品在线投资交易,可通过PC端网页,手机端app在线交易。通过交易平台可投资股票、外汇、商品、指数等多种资产,只需对走势涨跌的预测https://blog.csdn.net/wwjiaoyi/article/details/88965575
11.黄金原油期货投资入门十元app让你轻松起步十元黄金原油期货app是一个专为小型资金用户量身定制的小额投放平台,它旨在打破传统高额手续费壁垒,让更多人能够享受到专业化管理服务。该应用程序配备了一套完整而直观的人工智能系统,这使得即使对于没有丰富财务知识的人也能轻松操作,从而实现理财梦想。 https://www.topnu.cn/gong-ying-xin-xi/266873.html
12.俄乌冲突对全球铝市场影响几何?国际主要铝交易平台铝期货成交量呈波状起伏 据LME和上海期货交易所官方网站查询数据。2022年2月11日以来,平台成交量均呈波状起伏,3月8日为最高峰,交易量分别为461857和758083手。 ▲图9 全球铝交易平台近三个月成交量变化情况 03 英国制裁俄铝实控人、力拓终止与俄铝工厂的协议等诸多因素影响俄铝前景 https://www.hubpd.com/hubpd/rss/zaker/index.html?contentId=5764607523035491053
13.10元投资单双平台大全官方版下载10元投资单双平台【9123hc】人生真是讽刺,太多人活成了自己曾经最反感的样子。喜欢星星却只能仰天观望,喜欢清风却伸手抓空,美好的事物就像你一样,想要得到却总是成空。http://www.jupinbz.com/
14.稀土期货交易所稀土期货交易所今日价格、最新报价、行情走势来自于创大钢铁网门户网站,为您提供稀土期货交易所产业资讯信息,包含最新的稀土期货交易所今日价格、稀土期货交易所行情走势、稀土期货交易所最新报价、行业分析等信息,为国内钢铁企业,钢材企业提供最新的稀土期货交易所汇总资讯https://www.cdgtw.net/hot/3156947.html
15.虹点基金虹点基金旨在打造全方位、一站式的互联网基金交易平台,为用户提供更全面、更安全、更专业、更便捷的基金理财体验及场景式基金销售技术解决方案。https://www.hongdianfund.com/FundAnnouncement/Detail/161620/0000000000001567tu
16.期货十大排行榜期货公司有哪些2024年期货十大品牌最新发布,十大期货公司排行榜前十名有永安、中信期货、国泰君安期货、银河期货、东证期货、华泰期货、中信建投期货、南华期货、广发期货、浙商期货。期货十大排行榜由品牌研究部门收集整理大数据分析研究得出,帮助你了解期货哪个平台好。https://www.maigoo.com/maigoo/7486qh_index.html
17.股票期货交易成本比交易实际股票成本低; 税收优惠:如英国交易股票需要缴纳印花税,而交易股票期货不需缴纳印花税。 2.便利性。如LIFFE的USF可以使投资者在一个交易平台上交易许多以世界知名公司股票为标的的期货合约,而如果交易股票现货则要在许多国家的证券交易所进行。 https://baike.esnai.com/view.aspx?w=%E8%82%A1%E7%A5%A8%E6%9C%9F%E8%B4%A7