您正在使用的浏览器版本较低,无法支持一创聚宽量化交易云平台的某些特性。
为了获得更好的体验,推荐使用: Google Chrome 或者 Mozilla Firefox 或者 IE9以上。
感谢您使用一创一创聚宽量化交易云平台量化交易云平台,以下内容希望解答您对一创一创聚宽量化交易云平台量化交易云平台的疑问。
如果您想了解我们提供的API如何使用,请查看API文档。
如果以下内容仍没有解决您的问题,请您通过社区提问的方式告诉我们,谢谢。
一创聚宽量化交易云平台致力于打造最高效、易用的量化交易平台;我们希望降低量化交易的门槛,让更多人有机会参与进来;我们坚信“人人皆为宽客”—任何人只要对量化交易感兴趣,就可以成为一名宽客。
我们免费为量化爱好者提供如下服务:
高质量数据
我们的数据基于2005年至今完整的Level-2数据、上市公司财务数据,包含完整的停牌、复权等信息,盘后及时更新;一创聚宽量化交易云平台的数据完全免费,我们每年投入近百万元用于数据购买、数据加工、数据存储。
查看详情>>
强大的研究平台
我们免费提供基于IPython Notebook的研究平台,提供分钟级数据,采用Docker技术隔离,资源独立、安全性更高、性能更好,同步支持Python2、Python3。
立即体验>>
顶级回测体验
我们支持对沪深A股、ETF、LOF、分级基金进行回测。 我们支持每日、分钟两级回测,提供简洁、强大的API,回测结果实时显示、快速响应、数据全面。
立即体验>>
顶尖模拟交易
我们提供最准确、实时的沪深A股、ETF模拟交易工具,支持基于tick级的模拟交易。
立即体验>>
量化交流社区
我们为量化爱好者提供线上交流社区,便于用户交流量化策略、学习量化知识,一起成长。
立即体验>>
一创聚宽量化交易云平台目前主要支持沪深A股、ETF、LOF、分级基金,后续我们会逐步支持股指期货、商品期货、现货、外汇等其他金融衍生品。
一创一创聚宽量化交易云平台量化交易云平台量化交易平台是为量化爱好者、宽客量身打造的云平台,我们免费为您提供高质量数据、强大的研究平台、顶级回测体验、顶尖模拟交易、量化交流社区,便于您快速实现自己的交易思想。
策略是用户最大的财富,您对策略拥有100%的知识产权。
我们提供业界最高的安全保护,通过https传输、加密存储、沙箱保护保障您的策略安全,除了您本人,任何人无法获取您的策略。点击这里了解更多信息。
创建自己的第一个策略
方法一:参照示例策略,修改代码;
方法二:从社区克隆一个您感兴趣的策略;
方法三:新建一个策略,从头开始实现自己的交易思想;
如果您想要更详细的了解如何写策略,点击这里
通过回测检验自己的策略
您可以使用回测功能,通过策略收益、最大回撤、Alpha、Sharpe等风险指标初步检验自己的策略。
如何进行回测?
使用模拟交易进一步检验自己的策略
如果您的策略已经经过回测的检验,您可以使用模拟交易来进一步检验自己的策略。
如何进行模拟交易?
策略实盘
一创聚宽量化交易云平台支持策略“一键跟单”功能,让实盘更简单。点击这里了解更多信息。
一创聚宽量化交易云平台提供的数据可以在回测、模拟交易、研究模块免费使用,暂不支持下载。
深交所股票代码后缀为 XSHE
如000001.XSHE 平安银行
上交所股票代码后缀为 XSHG
如600000.XSHG 浦发银行
其他数据后缀请查询数据字典
使用如下代码:
import pandas as pd
# 设定最大显示行数、列数为10000
pd.set_option('display.max_rows', 10000)
pd.set_option('display.max_columns', 10000)
pd.set_option('display.width', 10000)
有同学问到, 一创聚宽量化交易云平台的数据是不是有问题, 怎么价格还带那么多位小数. 其实并不是我们数据的问题, 是numpy.float64 展示数据的问题.我们的价格是使用 numpy.float64 对象存储的, numpy.float64 展示的时候跟我们想象的不一样.
stackoverflow上的答案: http://stackoverflow.com/questions/27098529/numpy-float64-vs-python-float .
详情可以查看:/post/754
策略有效体现了您的交易思想,通过历史数据的回测,可以检验策略的有效性。
回测可以免费使用 一创聚宽量化交易云平台 提供的所有数据。点击这里了解更多信息。
回测使用的交易数据有一天的延时,即当天的交易数据在第二天的0:01分更新。
延时原因:回测使用的交易数据基于Level-2行情数据,Level-2级别的完整交易数据需要收盘后才能获得,目前市场上没有权威的行情数据,为了保证数据的准确性,我们购买了多个数据提供商的数据,经过一系列处理后才投入使用。
如果您想要更详细的了解如何写策略,点击这里
爱分享的小伙伴已经在社区分享了许多策略,您可以一键克隆免费使用。
登录后,点击右上方“策略”,或者点击首页“编写策略”,进入策略列表页,查看我的策略。
通过策略列表页进入策略详情页后,按如下步骤编写策略,运行回测:
编辑策略
使用基于Python语言的在线编辑器编写您的策略,我们会每隔10s自动保存您的策略,您也可以使用Ctrl+S快速保存。
设置回测参数
根据需要设置您的回测开始时间、结束时间、初始资金、回测频率。
快速回测
点击“编译运行”按钮进行快速回测,回测结果会实时显示在右侧。
完整回测
如果您想要查看更完整的回测数据,可以点击右侧的“运行回测”按钮,查看完整的回测结果。
编写策略仅需实现initialize和handle_data两个函数,点击这里了解更多信息。
点击这里查看回测API。
按天回测: handle_data每天9:30调用一次, handle_data的参数是昨天的数据;
分钟回测: handle_data每分钟调用一次, handle_data的参数是上一分钟的数据;
下列图片中齿轮为 handle_data(context, data) 的运行时间,before_trading_start(context) 等其他函数运行时间详见相关API。
频率:天
当选择天频率时, 算法在每根日线 Bar 都会运行一次,即每天运行一次。
在算法中,可以获取任何粒度的数据。
频率:分钟
当选择分钟频率时, 算法在每根分钟 Bar 都会运行一次,即每分钟运行一次。
在算法中,可以获取任何粒度的数据。
频率:Tick
当选择 Tick 频率时,每当新来一个 Tick,算法都会被执行一次。
注意:现阶段,Tick 频率只有在模拟交易时可以选择。
执行示意图如下图所示:
编译运行便于您快速调试代码,检查代码中的错误,策略的运行结果也能更快的展示,仅统计了Total Returns(策略总收益)、Alpha(阿尔法)、Beta(贝塔)、Sharpe(夏普比率)、Max Drawdown(最大回撤)。
运行回测是一次完整的回测,不仅包括编译运行中已经统计的指标,还包括交易详情、每日持仓&收益等信息。
我们把您的一次申报记做一笔订单,点击这里了解订单的处理方式。
回测默认使用沪深300指数的收益作为基准收益,您也可以根据需要使用set_benchmark设置基准收益。
Total Returns、Alpha等指标统称为风险指标,风险指标有利于您对策略进行一个客观的评价;点击这里查看风险指标的计算方法。
您可以使用get_fundamentals函数获取股票的市值。
您可以使用如下函数获取所有股票:
list(get_all_securities().index)
初始化的仓位是不允许直接买卖金融期货的,因为初始默认 subportfolios[0] 中 SubPortfolioConfig 的 type = ‘stock’,只允许买卖股票与基金等。
因此要买卖金融期货,您需要设定 SubPortfolioConfig 的 type = ‘index_futures’,单仓操作的设定方法具体方法如下:
def initialize(context):
# 在初始换函数 initialize 中加入下面设定语句
set_subportfolios([SubPortfolioConfig(cash=context.portfolio.starting_cash ,type='index_futures')])
如需使用分仓操作,请看账户分仓操作.
期货持仓到交割日,没有手动交割,系统会以当天结算价平仓, 没有手续费, 不会有交易记录.
因为买入了大量的股票,在扣除手续费之后,造成Cash为负,与现实是相同的。
模拟交易的数据与实盘数据完全同步,您可以通过模拟交易进一步检验策略的有效性。
模拟交易使用的数据是实时更新的Level-1数据,目前模拟交易数据有1分钟延时。
延时原因:为了保证数据的准确性,我们做了一系列处理。
您可以通过以下两种方法进行模拟交易:
进入模拟交易列表
新建模拟交易
设置参数
设置参数时,需要选择一个回测,选中回测的代码将用于新建模拟交易。
创建成功
模拟交易创建成功后,需要等待A股至少开盘一次,才能查看模拟交易结果。
进入策略的回测详情
新建模拟交易
设置参数
创建成功
模拟交易创建成功后,需要等待A股至少开盘一次,才能查看模拟交易结果。
开启微信通知后,您可以通过微信接收模拟交易的下单信号,模拟交易的下单信号较实盘有30s的延迟(延迟原因),请您根据实际情况下单。
开启微信通知步骤如下:
绑定微信账号
使用微信扫一扫绑定微信账号。
一个一创聚宽量化交易云平台账号仅支持绑定一个微信账号。
开启微信通知
微信通知示例
买入股票提醒
卖出股票提醒
您可以根据需要修改模拟交易的代码,修改代码后,我们按照新的代码计算累计收益、持仓、下单等内容,修改之前的各项指标、持仓、下单不会使用新的代码重新计算。
修改方法如下:
为了保证新代码的正确性,修改代码时只能选择当前模拟交易对应策略的回测详情。
旧代码中的全局变量(包括全局对象g)会保留,并应用到新代码中,所以请您确保新代码使用旧代码的全局变量不会出现问题;如果不希望使用旧的全局变量,您可以定义新的全局变量。
模拟交易支持暂停、重启、重跑、关闭;
模拟交易暂停后,不会再执行策略代码,不会产生交易信号,收益曲线还会一直画;
模拟交易重启后,策略恢复执行,重启会从当前时间(执行重启操作的时间)开始执行,注意与重跑的区别;
模拟交易运行失败后,可以通过重跑恢复;重跑会从模拟交易运行失败的时间开始执行;
模拟交易关闭后,模拟交易将彻底结束,无法再次打开;
点击如图箭头所示位置
点击后出现如图所示二维码,扫码后即重新绑定微信。
数据有延迟是正常的。即便在同花顺、东方财富等客户端看到的数据也是延迟的数据。
因为信息从证券交易所发出,再到数据提供商,再到终端,是存在延时的。
我们数据存在的延时是指与交易所发出数据的时刻的延时,并不是与您在客户端看到的数据的延时。
相较于回测,研究模块提供更大的自由度,您可以更好的验证自己的交易思想。
研究模块支持以下功能:
(1)每个Cell独立运行,实时查看结果;
(2)更好的代码补全;
(3)支持自定义库;
(4)支持使用matplotlib/seaborn等Python库画各种统计图;
(5)支持Markdown和代码混排,可读性更好;
(6)Notebook支持分享到社区,方便与大家交流。
查看使用帮助了解更多信息。
研究可以免费使用一创聚宽量化交易云平台提供的所有分钟级交易数据、财务数据、指数数据、ETF数据、LOF数据、分级基金数据。点击这里了解更多信息。
研究使用的交易数据有一天的延时,即当天的交易数据在第二天的0:01分更新。
延时原因:研究使用的分钟数据基于Level-2行情数据,Level-2级别的完整交易数据需要收盘后才能获得,目前市场上没有权威的行情数据,为了保证数据的准确性,我们购买了多个数据提供商的数据,经过一系列处理后才投入使用。
回测中可以使用read_file/write_file读写研究模块的文件。
可进入文件中,选择 “文件” - “恢复到”,将文件恢复到最近的一次记录。具体如下图所示:
在原有 Python2 与 Python 3 内核的基础上, 我们新增加了两个内核, Python2(PacVer 2.0) 与 Python3(PacVer2.0)。 这两个内核中的 Python 包全部升级到了截至 2017-12-21 的最新版。 建议在研究中优先使用新版内核。
在平台上运行策略时,日志出现该提示,通常是因为策略进程非正常结束所致。以下列举几种可能得原因:
调用 sys.exit()
企图退出程序
sys.exit()
表示结束进程的运行,在平台上运行时则表示整个回测或者模拟运行结束,这样做是没有必要的。若需退出函数,请使用 return
即可。
调用 raise SystemExit 企图抛出异常
当调用 raise SystemExit
,实际上它会调用 sys.exit()
,所以也可能导致进程非正常退出。
错误的字符串格式化方式
使用 %
来格式化字符串,可能会遇到类似 ValueError: unsupported format character
的错误,导致进程异常退出。字符串格式化中希望输出 %
的情况如: 收益:%s%
,实际意图是希望输出 收益:0.1%
,但用法可能是错误的,因为输出%
时需要对其进行转义。建议使用 str.format
的方式格式化字符串。点击这里了解更多信息。
调用第三方库
部分第三方库是用C语言扩展,直接调用动态库,如:numpy,错误的调用可能会导致段错误,这样策略进程也会异常退出。另有部分第三方库可能创建新的进程、线程、锁等,平台资源有限,所以限制了策略进程所能占用的资源,若占用资源过大,可能导致进程崩溃。
其他不正确的代码书写方式
Python 是动态型语言,很多错误的书写方式是语法检测不出来的,如:错误的使用了字符串格式化方式,这些错误只有当代码运行到该处时才会报错,否则表现为正常运行的情况。
一创聚宽量化交易云平台支持策略“一键跟单”功能,让实盘更简单。点击这里了解更多信息。
如果以上内容仍没有解决您的问题,请您通过社区提问的方式告诉我们,谢谢。