代码拉取完成,页面将自动刷新
同步操作将从 Ricequant/RQAlpha 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
from rqalpha import run
config = {
"base": {
"strategy_file": "strategy.py",
"start_date": "2016-06-01",
"end_date": "2016-07-01",
"stock_starting_cash":100000,
"benchmark": '000300.XSHG'
},
"extra":{
"context_vars":{
"short":5,
"middle":10,
"long":21
}
}
}
result_dict = run(config)
# 以下是策略代码:
def handle_bar(context):
print(context.short) # 5
print(context.middle) # 10
print(context.long) # 21
rqalpha generate_config
现在会生成包含所有默认系统配置信息的 config.yml 文件。RUN_TYPE
增加 LIVE_TRADING
history_bars
获取日期错误产生的问题context.run_info
会报错的问题2.0.0 详细修改内容请访问:RQAlpha 2.0.0
Portfolio/Account/Position 相关
Portfolio
, Account
和 Position
的角色和关系Portfolio
层级进行净值/份额的计算,Account级别不再进行净值/份额/收益/相关的计算total_cash
, positions
和 backward_trade_set
即可完成Position
的初始化,可以从 real_broker
直接进行恢复Account
提供 fast_forward
函数,账户现在可以从任意时刻通过 orders
和 trades
快速前进至最新状态benchmark_portfolio
, 其包含一个 benchmark_account
context.portfolio.positions[some_security]
时候,如果 position 不存在,不再每次都创建临时仓位,而是会缓存,从而提高回测速度和性能clone
方法PortfolioProxy
和 PositionProxy
Event 相关
Executor
模块Mod 相关
slippage
相关业务逻辑至 simulation mod
commission
相关业务逻辑至 simulation mod
tax
相关业务逻辑至 simulation mod
Environment 和 ExecutionContext 相关
ExecutionContext
只负责上下文相关的内容,不再可以通过 ExecutionContext
访问其他成员变量。Environment
的功能,RQAlpha 及 Mod 均可以直接通过 Environment.get_instance()
来获取到环境中核心模块的引用Environment
还提供了很多常用的方法,具体请直接参考代码配置及参数相关
rqalpha run
的参数,将其中属于 Mod 的参数全部删除,取代之为Mod提供了参数注入机制,所以现在 Mod 可以自行决定是否要注入参数或者命令来扩展 RQAlpha 的功能rqalpha-cmd
命令,Mod 推荐在该命令下注入自己的命令来实现功能扩展Risk 计算
其他
Order
和 Trade
的字段和函数,使其更通用RqAttrDict
类增加 update
方法,现在支持动态更新了arg_checker
增加 is_greater_or_equal_than
和 is_less_or_equal_than
函数DEFAULT_FUTURE_INFO
变量,现在可以直接通过 data_proxy
获取相关数据update_bundle
直接在代码中调用会报错的问题is_suspended
和 is_st_stock
API 的支持UnboundLocalError: local variable 'signature' referenced before assignment
--short-stock
POSITION_EFFECT
增加 CLOSE_TODAY
ExecutionContext
增加 get_current_close_price
get_future_commission_info
get_future_margin
get_future_info
函数RQInvalidArgument
来处理用户策略代码异常的问题handle_tick(context, tick)
的方式支持tick级别的API支持(未来可能会修改)before_trading
函数输出的时间提前到开盘前半小时rqalpha install/uninstall/list/enable/disable
命令EVENT.POST_SYSTEM_RESTORED
事件side
和 position_effect
total_orders
计算错误inpsect.signature
在 python 2.x 报错的问题。--locale
默认为 cn
(中文), 支持 cn | en
(中文 | 英文)main.run
返回值中 stock_position
为 None
的问题config.yml
的版本号检查及相关流程plot
关于中文字体的校验,如果系统没有中文字体,则显示英文字段Benchmark
在不设置时某些情况下会导致运行失败的错误inspect.unwrap
在 Python 2.7 下不支持的兼容性问题numpy
在某些平台下没有 float128 引起的报错问题--disable-user-system-log
参数,可以独立关闭回测过程中因策略而产生的系统日志--log-level
现在可以正确区分不同类型的日志,同时增加 none
类型,用来关闭全部日志信息。~/.rqalpha/config.yml
文件rqalpha generate_config
命令来获取默认配置文件--kind
参数,替换为 --strategy-type
和配置文件呼应events.py
,现在可以更好的支持基于事件的模块编写了analyser
Modrisk_manager
Modsimulation
Mod-mc
/ --mod-config
参数来传递参数到 mod 中update_bundle
移到 main.py
中,方便直接从代码中调用 update_bundle
rqalpha.run
现在支持直接传入 source_code
了rqalpha.update_bundle
函数from rqalpha import run
接口,现在可以很方便的直接在程序中调用RQAlpha 回测了。rqalpha update_bundle
的目录结构,现在是在指定目录下生成一个 bundle 文件,而不再会直接删除当前文件夹内容了。rqalpha examples -d .
无样例策略生成的问题handle_bar
前用当前的数据更新 portfolio 和 position,因为 ricequant.com 是这样做的。market_value
和 value_percent
# 生成sample策略
rqalpha generate_examples -d ./
# 运行回测
rqalpha run -f examples/simple_macd.py -s 2013-01-01 -e 2015-01-04 -o /tmp/a.pkl
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。