#线性回归策略
# Import libraries
import numpy as np
import pandas as pd
from statsmodels import regression
import statsmodels.api as sm
import matplotlib.pyplot as plt
import math
#编写线性回归函数
def linreg(X, Y):# Running the linear regressionX = sm.add_constant(X)model = regression.linear_model.OLS(Y, X).fit()a = model.params[0]b = model.params[1]X = X[:, 1]# Return summary of the regression and plot resultsX2 = np.linspace(X.min(), X.max(), 100)Y_hat = X2 * b + aplt.scatter(X, Y, alpha=0.3) # Plot the raw dataplt.plot(X2, Y_hat, 'r', alpha=0.9);  # Add the regression line, colored in redplt.xlabel('X Value')plt.ylabel('Y Value')return b
def get_beita(benchmark,asset):#基于stock2=a+b*stock1asset['ret_asset']=(asset['closePrice']-asset['closePrice'].shift(1))/asset['closePrice']benchmark['ret_benchmark']=(benchmark['closePrice']-benchmark['closePrice'].shift(1))/benchmark['closePrice']asset_ret=asset['ret_asset'][1:len(asset)]benchmark_ret=benchmark['ret_benchmark'][1:len(benchmark)]b=linreg(asset_ret.values, benchmark_ret.values)return b
########################################################################################################
start = '2017-05-04'                       # 回测起始时间
end = '2017-05-04'                         # 回测结束时间
universe =set_universe("SH50") # 证券池,支持股票和基金
capital_base = 100000                      # 起始资金
freq = 'd'                                 # 策略类型,'d'表示日间策略使用日线回测,'m'表示日内策略使用分钟线回测
refresh_rate = 1                           # 调仓频率,表示执行handle_data的时间间隔,若freq = 'd'时间间隔的单位为交易日,若freq = 'm'时间间隔为分钟
max_history_window=600
def initialize(account):                   # 初始化虚拟账户状态passdef handle_data(account):df=pd.DataFrame()for stock in account.universe:asset=pd.DataFrame(account.get_history(600)[stock])value=[]for stock1 in account.universe:benchmark=pd.DataFrame(account.get_history(600)[stock1])b=get_beita(benchmark,asset)value.append(b)df[stock]=pd.Series(value)df.index=account.universeprint df

优矿-python计算上证50之间的相关系数相关推荐

  1. Python计算两日期之间排除节假日与非上班时间的工作时间

    Python计算两日期之间排除节假日与非上班时间的工作时间 前言 一.基本思路 二.代码示例 总结 文章目录 前言 一.基本思路 二.代码示例 总结 前言 工作中遇见需要写UDF计算事项办理时间的需求 ...

  2. python画资本市场线_【投资组合理论】Python绘制上证50成分股有效前沿和CML

    马科维茨有效前沿是经典的资产配置模型,对于给定收益率,有效前沿上的投资组合风险最小. 初学时,感觉绘制有效前沿是个极其有难度的事情,基本不可能完成.后来学了Python的一些数值计算方法,才感觉用程序 ...

  3. 计算1~50之间的素数之和

    public static void main(String[] args) {int sum = 0; for (int i = 1; i <= 50; i++) {for (int j = ...

  4. python计算上证50ETF的已实现波动率

    本文使用某个交易日内的上证50ETF的5分钟收盘价(原始数据:),计算该交易日的已实现波动率.日度已实现波动率的计算公式如下: 同时,周度已实现波动率和月度已实现波动率的计算公式如下: import ...

  5. 如何用python计算excel两行之间的差值_excel表格求两列数据差值-怎样在EXCEL表格中求两列数的差?...

    怎样在EXCEL表格中求两列数的差? 1.双击打开需行求差的Excel表格,Excel表格. 2.在进入Excel表格后,使用鼠标需差的单元格,先选中其中一行即可. 3.在选中一行后,在单元格内输入& ...

  6. python:计算0~100之间所有的偶数之和与奇数之和

    在实际应用中会求一组数的奇数偶数求和的问题,运用python怎样解决呢? 首先肯定需要用到循环语句和求模判断,这里采用while循环来做. 具体代码如下: i=0 even_sum=0 odd_sum ...

  7. 使用Python计算方差协方差相关系数

    使用Python计算方差,协方差和相关系数 文章目录 使用Python计算方差,协方差和相关系数 数学定义 期望 方差 协方差 相关系数 协方差矩阵 使用NumPy包计算 数学定义 期望 设随机变量X ...

  8. python方差的计算公式_使用Python计算方差协方差相关系数

    使用Python计算方差,协方差和相关系数 数学定义 期望 设随机变量X只取有限个可能值a_i (i=0, 1, ..., m),其概率分布为P (X = a_i) = p_i. 则X的数学期望,记为 ...

  9. python算协方差_使用Python计算方差协方差相关系数

    使用Python计算方差,协方差和相关系数 [TOC] 数学定义 期望 设随机变量\(X\)只取有限个可能值\(a_i (i=0, 1, ..., m)\),其概率分布为\(P (X = a_i) = ...

  10. 量化初步-《python与量化投资从基础到实战》——优矿策略

    python与量化投资从基础到实战--策略初步 量化数据获取 优矿介绍 使用方式 日行情数据 因子数据 数据处理 数据合并 数据透视 数据过滤 数据获取与整理 数据转化: 标准化 哑变量 通联数据回测 ...

最新文章

  1. 微软官方再次上线了Python教程,这次比较高级
  2. python培训出来的有公司要吗-python培训机构出来好就业吗
  3. 学委收作业神器-查未交同学
  4. Coding: 整数反转
  5. EOS 帐户权限操作--你找不到的干货 (原创) 续集-EOS 3.0
  6. 实战!Spring Boot 整合 阿里开源中间件 Canal 实现数据增量同步!
  7. Wireshark流量分析
  8. 记录一次网线水晶头的安装
  9. 20190608 JavaBean转jsonString时首字母大写的问题
  10. Word文档太大怎样压缩变小?有没有简单的步骤讲解?
  11. CentOS 查看登陆成功和登陆失败日志
  12. Spring Boot--Druid连接池的配置方法
  13. 海康摄像头二次开发详解,包含海康摄像头登录、海康云台控制、视频下载等功能
  14. 超简单EventBus使用
  15. 挑战程序设计竞赛笔记-贪心算法
  16. psu计算机测试,「电脑维修」电源的检测(使用电源测试器)
  17. MATLAB中复数矩阵的转置、共轭及共轭转置
  18. python哈姆雷特词频统计_人生苦短我用Python——哈姆雷特词频统计
  19. 凯格精机通过注册:拟募资5亿 邱国良与彭小云夫妇为实控人
  20. 韩语键盘输入对照(Korean_Keyboard)

热门文章

  1. egret eui.Button改变文本、背景色及是否可点击
  2. Lempel-Ziv algorithm realization
  3. perfmon 端口修改_Windows操作统的性能监控工具――Perfmon.doc
  4. 决策表(决策树)[软件工程]
  5. drools 6.5 决策表使用
  6. 人体红外传感器HC-SR501使用指南
  7. 并发调度的可串行性:可串行化调度、冲突可串行化调度、两段锁协议
  8. 商汤的AI伴游小精灵(找最多子树)
  9. cannot be cast to
  10. xpath兄弟结点语法