Python量化交易:投资组合

Posted 传智教育官方博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python量化交易:投资组合相关的知识,希望对你有一定的参考价值。

**同学们前面两期量化交易内容:**
  1. Python量化交易入门
  2. 量化交易的历史
  3. Python量化交易项目怎么做
  4. Python量化交易之回测框架介绍
  5. Python量化交易:策略创建运行流程
  6. Python量化交易:数据获取接口
  7. Python量化交易:回测交易接口


学习目标:

说明投资组合的定义
了解投资组合的市场价值和资金价值

那么当我们选好了股票之后,其实就可以选择购买或者卖出了。但是注意了这里所说的交易,是在历史数据当中回测的时候去每天判断交易。并不是后面的模拟交易或者实盘交易。


投资组合

一、定义

投资组合是由投资人或金融机构所持有的股票、债券、金融衍生产品等组成的集合,目的是分散风险。

二、如何查看投资组合信息

还记得我们之前提到的一个叫context的参数吗,这个参数当中就包含了投资组合的信息

context属性
now - 当前时间

context.now

使用以上的方式就可以在handle_bar中拿到当前的bar的时间,比如day bar的话就是那天的时间,minute bar的话就是这一分钟的时间点。

返回数据类型为datetime.datetime

portfolio - 投资组合信息

context.portfolio

该投资组合在单一股票或期货策略中分别为股票投资组合和期货投资组合。在股票+期货的混合策略中代表汇总之后的总投资组合。

stock_account - 股票资金账户信息

context.stock_account

获取股票资金账户信息。

portfolio对象

股票position对象

position就代表着当前我们的仓位中有哪些股票正持有,position.keys()可以获取

三、代码

# 查看我们的投资组合信息,仓位、资金
# 查看股票账户信息
logger.info("股票账户信息:")
logger.info(context.stock_account)

# 卖出股票就要从持有的这些股票当中去选择
logger.info(context.portfolio.positions)

# 交易的价格计算
# 当日的:close * 股数
logger.info("投资组合的资金:%f" % context.portfolio.cash)
logger.info("投资组合的市场价值:%f" % context.portfolio.market_value)
logger.info("投资组合的总价值:%f" % context.portfolio.total_value)

四、查看交易情况界面

以上是关于Python量化交易:投资组合的主要内容,如果未能解决你的问题,请参考以下文章

Python量化交易10——资产组合比例优化(CAMP,VAR,CVAR)

python 了解量化交易

Python量化交易学习课程

量化资料学习《Python与量化投资从基础到实战》+《量化交易之路用Python做股票量化分析》+《组织与管理研究的实证方法第2版》

Python量化交易入门

python实现量化交易策略