学习记录651@python之收益率与对数收益率案例实战
理论
代码
import tushare as ts
ts.set_token('你的token')
df=ts.get_k_data('399300', index=True,start='2016-01-01', end='2016-12-31')
df.head()
本接口即将停止更新,请尽快使用Pro版接口:https://tushare.pro/document/2
date | open | close | high | low | volume | code | |
---|---|---|---|---|---|---|---|
0 | 2016-01-04 | 3725.86 | 3470.41 | 3726.25 | 3469.01 | 115370674.0 | sz399300 |
1 | 2016-01-05 | 3382.18 | 3478.78 | 3518.22 | 3377.28 | 162116984.0 | sz399300 |
2 | 2016-01-06 | 3482.41 | 3539.81 | 3543.74 | 3468.47 | 145966144.0 | sz399300 |
3 | 2016-01-07 | 3481.15 | 3294.38 | 3481.15 | 3284.74 | 44102641.0 | sz399300 |
4 | 2016-01-08 | 3371.87 | 3361.56 | 3418.85 | 3237.93 | 185959451.0 | sz399300 |
import numpy as np
# 基于价格的原始收益率
df['r']=(df['close'] - df['close'].shift(1)) / df['close'].shift(1)# df['close'].shift(1) 下移一行
# 对数收益率定义为ln(e/s),其中e为下一期价格,s为上一期价格
df['rtn']=np.log(df['close'] / df['close'].shift(1))
df=df.dropna()
df.head()
date | open | close | high | low | volume | code | r | rtn | |
---|---|---|---|---|---|---|---|---|---|
1 | 2016-01-05 | 3382.18 | 3478.78 | 3518.22 | 3377.28 | 162116984.0 | sz399300 | 0.002412 | 0.002409 |
2 | 2016-01-06 | 3482.41 | 3539.81 | 3543.74 | 3468.47 | 145966144.0 | sz399300 | 0.017544 | 0.017391 |
3 | 2016-01-07 | 3481.15 | 3294.38 | 3481.15 | 3284.74 | 44102641.0 | sz399300 | -0.069334 | -0.071855 |
4 | 2016-01-08 | 3371.87 | 3361.56 | 3418.85 | 3237.93 | 185959451.0 | sz399300 | 0.020392 | 0.020187 |
5 | 2016-01-11 | 3303.12 | 3192.45 | 3342.48 | 3192.45 | 174638387.0 | sz399300 | -0.050307 | -0.051617 |
df['close']-df['close'].shift(1).head()
1 NaN
2 61.03
3 -245.43
4 67.18
5 -169.11...
239 NaN
240 NaN
241 NaN
242 NaN
243 NaN
Name: close, Length: 243, dtype: float64
df.plot(figsize=(10,6),x='date',y='close') #价格曲线
df.plot(figsize=(10,6),x='date',y='r') #一般收益率
df.plot(figsize=(10,6),x='date',y='rtn') #对数收益率,平稳性更好
<AxesSubplot:xlabel='date'>
以上摘自量化书籍
学习记录651@python之收益率与对数收益率案例实战相关推荐
- 学习记录655@python双均线突破量化回测实战-以比亚迪为例
以下代码对比亚迪2020年1月1日至2022年10月5日进行均线策略回测 策略逻辑是:如果5日均线大于10日均线,那么就持有一手仓位,否则不持有仓位,就这么简单明了,然后换算成净值,看净值图情况,查看 ...
- 【量化金融】收益率、对数收益率、年华收益、波动率、夏普比率、索提诺比率、阿尔法和贝塔、最大回撤
[量化金融]收益率.对数收益率.年华收益.波动率.夏普比率.索提诺比率.阿尔法和贝塔.最大回撤 1 收益率 在学术界,建模一般不直接使用资产价格,而是使用资产收益率(Returns).因为收益率比价格 ...
- 学习记录652@python时间序列分析之自相关ACF图绘制
原理 import tushare as ts ts.set_token('你的token') df=ts.get_k_data('399300', index=True,start='2016-01 ...
- 百分比收益率和对数收益率
股市中常用的收益率是百分比收益率,而对数收益率在金融理论中用的较多. 百分比收益率定义:Rb=(s2−s1)/s1=s2/s1−1R_b=(s_2-s_1)/s_1=s_2/s_1-1Rb=(s2 ...
- 凯利准则,百分比收益率与对数收益率的转换
某投资标的 的单期百分比收益率 满足 和 其对应的连续复利 可表示为 将这一连续复利进行泰勒展开并保留二阶项易得: 根据凯利准则的思想,投资者通过调整杠杆比率寻求最大化对数收益率.记杠杆率为 ,则均值 ...
- python大数据分析入门实例-Python大数据分析与机器学习商业案例实战
大数据分析与机器学习技术已成为各行各业实现数字化变革的关键驱动力.本书以功能强大且较易上手的Python语言为编程环境,全面讲解了大数据分析与机器学习技术的商业应用实战.全书共16章,讲解了线性回归模 ...
- python计算银行余额_Python 小案例实战 —— 简易银行存取款查询系统
Python 小案例实战 -- 简易银行存取款查询系统 涉及知识点 包的调用 字典.列表的混合运用 列表元素索引.追加 基本的循环与分支结构 源码 import sys import time ban ...
- [Python学习记录]——Hello Python
一直以来主要使用Java语言进行编程,开始学习Python起源于2012年亚马逊双十一购书大优惠的活动中为了补齐优惠额度,正好亚马逊给推荐<Python入门基础>一书. 一年时间过去了,书 ...
- 【学习记录】Python零基础入门(五)
第五章 Python零基础入门之条件.循环及其他语句 本人自学的主要教材为Magnus Lie Hetland的Beginning Python:From Novice to Professional ...
最新文章
- 导入自定义模块model
- 面试题 合并两个有序链表
- Random Forests
- nfine框架 上传文件_网站服务器Nginx运行环境,后台文件上传超出Nginx的最大值...
- 扔掉老破V100、A100,英伟达新一代计算卡H100来了!
- 【剑指offer】面试题04:二维数组中的查找(java)
- 使用网络进行项目托管
- Python稳基修炼之计算机等级考试易错概念题5(含答案)
- 面向对象——类设计(二)
- CMOS 与BIOS
- mysql dba系统学习(18)mysql主从复制的实现
- python kmeans聚类_K-means聚类算法的Python实现
- scrapy 中不同页面的拼接_Python下使用Scrapy爬取网页内容的实例
- Day77 Java框架 SSH案例_ERP(十一)_CXF框架_红日物流BOS系统_ERP物流信息管理
- oracle database link
- PS修改图片局部颜色
- mysql级联更新_Mysql实现级联操作(级联更新、级联删除)(转)
- 中学计算机课教具,中学教师20余载自制教具 “变废为宝”让课堂易懂
- RL论文阅读【一】Playing Atari with Deep Reinforcement Learning
- OpenCV“迷雾”车道识别的反思