Portfolio

1.投资组合的日收益率
2.投资组合的风险评价指标:sharpe ratio
 
(1)假设投入资金10000
(2)买入组合的分配比例 allocat=(0.3, 0.2, 0.2, 0.3)
(3)时间从17-01/03~06/05
 

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 投资组合股票价格
df_close = pd.read_csv('Data/data/close_4.csv',index_col='date')
print df_close[:3]
                 SZ   JFJS  CYDL     MD
date
2017-01-03  2307.89  9.121  6.11  29.12
2017-01-04  2322.21  9.230  6.12  29.83
2017-01-05  2322.68  9.110  6.12  29.69
# norm price ,除以买入当天的价格
norm_df = df_close / df_close.iloc[0,:]
print norm_df[:3]
                  SZ      JFJS      CYDL        MD
date
2017-01-03  1.000000  1.000000  1.000000  1.000000
2017-01-04  1.006205  1.011950  1.001637  1.024382
2017-01-05  1.006408  0.998794  1.001637  1.019574
# norm price * allocat(资金投入比)
allocat = [0.3, 0.2, 0.2, 0.3]
allocated = norm_df * allocat
print allocated[:3]
                  SZ      JFJS      CYDL        MD
date
2017-01-03  0.300000  0.200000  0.200000  0.300000
2017-01-04  0.301861  0.202390  0.200327  0.307315
2017-01-05  0.301923  0.199759  0.200327  0.305872
# allocated * 初始投入金额
returns = allocated * 10000
# 计算每天组合投资的价值
Values = returns.sum(axis=1)# 投资组合的日回报,(今天的收益/昨天的收益)-1
# 买入当天不计,为0
daily_returns = Values.copy()
daily_returns[1:] = (Values[1:] / Values.values[:-1])-1.0
daily_returns.iloc[0] = 0# 每天的累计回报(每天的组合收益/第一天的组合收益)-1
cum_returns = (Values / Values.iloc[0])-1.0daily_returns.plot(figsize=(10,5),label='Daily returns')
cum_returns.plot(label='Cumulative returns')
plt.grid()
plt.legend()
plt.show()

Sharpe Ratio

夏普比率(Sharpe Ratio),又被称为夏普指数 — 基金绩效评价标准化指标。用净值增长率的平均值 减 无风险利率 再除以净值增长率的标准差就可以得到基金的夏普比率。它反映了单位风险基金净值增长率超过无风险收益率的程度。如果夏普比率为正值,说明在衡量期内基金的平均净值增长率超过了无风险利率,夏普比率越大,说明基金的单位风险所获得的风险回报越高。夏普比率为负时,则相反,按大小排序没有意义。
不同的数据采样频率,夏普比率会乘以不同系数k,日采样 k = 252‾‾‾‾√\sqrt{252}, 周采样为52‾‾‾√\sqrt{ 52}

              SharpeRatio=K∗mean(Rd−Rf)std(Rd−Rf)√ Sharpe Ratio = \frac{ K*mean(R_d - R_f)}{\sqrt{std(R_d - R_f)}}

RdR_d,为日收益率; Rf R_f ,为无风险短期利率

# 净值增长率平均值,即 日收益率均值
m_dr = daily_returns.mean()
# 无风险利率,类似银行利息利率或国债利率的日均值,也可以用0代替
risk_free_rate = 0.0
# 净值增长率标准差
std_dr = daily_returns.std()
# 数据为日采样数据,
k = np.sqrt(252)
sharpe_ratio = k * (m_dr - risk_free_rate) / std_dr
print sharpe_ratio
0.572513712026

ML for trading -cs7646-04相关推荐

  1. 机器学习基石06:泛化理论(Theory of Generalization)

    本文介绍了机器学习的泛化理论,包括突破点的限制,上限函数的基本情形,上限函数的归纳情形以及形象化的证明. 系列文章 机器学习基石01:机器学习简介 机器学习基石02:感知器算法(Perceptron ...

  2. 学习+科研+做项目 深度学习最全详细资料

    李宏毅2020机器学习深度学习(完整版)国语 [双语字幕]吴恩达深度学习deeplearning.ai 深度学习(卷积网络.循环神经网络.对抗神经网络.Tensorflow实战) 更多资料请关注公众号 ...

  3. 机器学习基石13:过拟合风险(Hazard of Overfitting)

    本文详细介绍了过拟合的概念,造成过拟合的原因以及过拟合的解决方案. 系列文章 机器学习基石01:机器学习简介 机器学习基石02:感知器算法(Perceptron Algorithm) 机器学习基石03 ...

  4. 机器学习基石12:非线性变换(Nonlinear Transformation)

    本文介绍了非线性变换的整体流程:通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行线性分类. 之后介绍了非线性变换存在的问题:时间复杂度和空间复杂度的增加. 最后证明了非线性变换的 ...

  5. 机器学习基石05:训练与测试(Training versus Testing)

    上一篇文章介绍了机器学习的可行性.本文将讨论机器学习的核心问题,严格证明为什么机器可以学习. 系列文章 机器学习基石01:机器学习简介 机器学习基石02:感知器算法(Perceptron Algori ...

  6. 分享159个ASP源码,总有一款适合您

    ASP源码 分享159个ASP源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下..., 159个ASP源码下载链接:https://pan.baidu.com/s ...

  7. 历史最全量化交易书籍、视频教程、博客、代码、算法整理

    作者:lqfarmer 来源:知乎 金融机器学习 经典书籍 · ⭐️ Marcos López de Prado - Advances in Financial Machine Learning .. ...

  8. ML 04、模型评估与模型选择

    FROM:http://www.cnblogs.com/ronny/p/4063048.html 机器学习算法 原理.实现与实践--模型评估与模型选择 1. 训练误差与测试误差 机器学习的目的是使学习 ...

  9. f16_Automated Trading strategy_Kelly Criterion投资比_Vectorized Backtest_drawndown_value-at-risk_socket

    People worry that computers will get too smart and take over the world, but the real problem is that ...

  10. 2021年ML和NLP研究亮点回顾 | DeepMind科学家Sebastian Ruder

    导语:2021年见证了机器学习和自然语言处理领域许多振奋人心的进展.DeepMind科学家Sebastian Ruder近期撰文介绍了过去一年中最具有启发意义的论文和研究领域,要点如下: Univer ...

最新文章

  1. PyTorch迁移学习
  2. C语言,二维数组的逗号!_只愿与一人十指紧扣_新浪博客
  3. Python_note1
  4. BAT教程 :第六节(if命令讲解)
  5. docker log 文件 清理
  6. 说到底企业是销售飞鸽传书2007
  7. 21 CO配置-控制-产品成本控制-成本对象控制-检查制造订单 (PP) 的成本核算变式
  8. 深入聊聊MVVM框架(闲谈)
  9. 智能优化算法:足球联赛竞争算法-附代码
  10. Visual Studio Code鼠标右键Open in Browser消失问题
  11. 高鸿业宏观经济学第七版答案
  12. LWN:32位Linux的未来!
  13. 全国计算机演示文稿,全国计算机统考押题——演示文稿
  14. 合并集合 {aaa,bbb,ccc},{bbb,ddd},{eee,fff},{ggg},{ddd,hhh}运算的结果:{aaa,bbb,ccc,ddd,hhh},{eee,fff},{ggg}
  15. 神经网络训练常见坑-新手如何优化调整训练神经网络
  16. ubuntu打不开硬盘
  17. 如何恢复U盘中丢失的文件
  18. PWM脉冲宽度调制(一)
  19. svm+特征提取做分类
  20. 格式工厂怎样压缩视频到指定大小,如何设置参数?

热门文章

  1. mybatis动态sql,条件判断详解示例
  2. mysql怎么查询两页数据_mysql分页查询踩坑报告
  3. linux mysql优化_Linux上跑MySQL优化技巧
  4. Java之观察者模式
  5. 免费制作gif图片工具
  6. 根据当前节点获取所有上层结构的组织(递归算法)
  7. 百度下半年惩罚网站的低质量,坏消息到来硕士
  8. Android UI系列-----Dialog对话框
  9. python日志模块logging
  10. css3做各种角度三角形