繁簡切換您正在訪問的是FX168財經網,本網站所提供的內容及信息均遵守中華人民共和國香港特別行政區當地法律法規。

FX168财经网>人物频道>帖子

回测账户数据——context

作者/外汇老法师 2019-09-17 16:00 0 来源: FX168财经网人物频道

相信有些用户对context对象及其层层嵌套其他对象困惑不已,本文对context的结构及其用法进行了讲解,并给出了常见用法举例。希望会对大家有帮助。

回测运行数据——context对象¶

context是用来存储策略回测过程中的,以账户信息为主,比如,当前进行到什么时间,持有哪些股票,有多少现金等等。context的数据类型是对象,其特点是可自由定义存储结构,而且可以嵌套另一个对象,也因此新手往往不太会用。本文将专门介绍下context对象。

通过阅读各个对象的介绍,可见回测数据的存储是有层级关系的,如下图:(如果看不清,可以右键图片,在新标签页打开图片) Context对象.png

(随着平台更新,context的内容已经变化,但基本结构及取用方法大同小异)

各个对象的详细API介绍连接如下:

  1. Context对象
  2. SubPortfolio对象
  3. Portfolio对象
  4. Position对象

取用方法:¶

对象层与层之间用“.”隔开,从顶层写到底层。如获取回测的终止时间,写法为context.run_params.end_date。需要特别注意的是,portfolio(或者subportfolios)中的position(或者long_positions或者short_positions)是一个dict,而其value才是个Position对象。

dict是一种python的数据类型,其特点是每个数据(value)都有一个相对应的名字索引(key),取用某value方法是字典名[key],详情见数据类型之字典。

举例:¶

如要在回测日志中输出持有的某只股票(xxxxxx.xxxx)的开仓均价时,写法为:

print context.portfolio.positions['xxxxxx.xxxx'].avg_cost

常用回测数据取用举例:¶

  1. 当前时间 context.current_dt
  2. 当前时间的“年-月-日”的字符串格式 context.current_dt.strftime("%Y-%m-%d")
  3. 前一个交易日 context.previous_date
  4. 当前可用资金 context.portfolio.avaliable_cash
  5. 持仓价值 context.portfolio.positions_value
  6. 累计收益 context.portfolio.returns
  7. 当前持有股票 context.portfolio.positions.keys()
  8. 当前持有的某股票的开仓均价 context.portfolio.positions['xxxxxx.xxxx'].avg_cost
  9. 当前持有的某股票的可卖持仓量 context.portfolio.positions['xxxxxx.xxxx'].closeable_amount
  10. 当前持有的某股票的最新价格 context.portfolio.positions['xxxxxx.xxxx'].price

根据以上的举例,应该可以类比写出其他的。

答疑与延伸:

  • 为什么postions是dict,不应该是一个Position对象吗? postions是一个字典,字典的每个value才是一个Position对象。只是这个字典的名字和Position对象的名有点像而已。
  • subportfolios似乎没怎么提? 一般股票策略,并不会用到subportfolios。如果做期货,有分仓需求时会用到。相关API用法:账户分仓操作。
  • datetime 是什么? datetime 是python中的时间库,详情见:Python 中时间的用法
 
分享到:
举报财经168客户端下载

全部回复

0/140

投稿 您想发表你的观点和看法?

更多人气分析师

  • 张亦巧

    人气2184文章4145粉丝45

    暂无个人简介信息

  • 梁孟梵

    人气2176文章3177粉丝39

    qq:2294906466 了解群指导添加微信mfmacd

  • 指导老师

    人气1864文章4423粉丝52

    暂无个人简介信息

  • 李冉晴

    人气2320文章3821粉丝34

    李冉晴,专业现贷实盘分析师。

  • 刘钥钥1

    人气2024文章3119粉丝34

    专业从事现货黄金、现货白银模似实盘操作分析指导

  • 张迎妤

    人气1896文章3305粉丝34

    个人专注于行情技术分析,消息面解读剖析,给予您第一时间方向...

  • 金泰铬J

    人气2328文章3925粉丝51

    投资问答解咨询金泰铬V/信tgtg67即可获取每日的实时资讯、行情...

  • 金算盘

    人气2696文章7761粉丝125

    高级分析师,混过名校,厮杀于股市和期货、证券市场多年,专注...

  • 金帝财神

    人气4760文章8329粉丝119

    本文由资深分析师金帝财神微信:934295330,指导黄金,白银,...

FX168财经

FX168财经学院

FX168财经

FX168北美