Python的tushare库实现沪深300 指数数据分析——CAMP模型

(1)筛选
使用作业1的程序

  1. 完成对沪深300指数成分股过去2015年1月-2018年1月三年的数据分析
  2. 按alpha从大到小,选择出30只alpha最高的股票形成股票池1,以备进一步分析

(2)预测

  1. 对沪深300指数成分股2018年1月-2021年1月三年的数据分析
  2. 选择出30只alpha最高的股票形成股票池2
  3. 观察股票池1和股票池2的重合度
  4. 分别计算股票池1在2015-2018时间段和2018-2021时间段的Alpha均值,观察Alpha均值的变化
  5. 对观察结果进行思考与分析

股票基础信息获取网站
在这里插入图片描述

将沪深300的成分股的基础信息整合到txt文件中
在这里插入图片描述
将获取的股票基础信息整理成csv文件便于在Python中读取
在这里插入图片描述

使用tushare库爬取股票交易数据,建立CAMP模型,进行分析,废话不多话,直接上代码!

"""
python3.7
-*- coding: UTF-8 -*-
@Project -> File   :Code -> CAMP
@IDE    :PyCharm
@Author :YangShouWei
@USER: 296714435
@Date   :2021/4/6 15:41:37
@LastEditor:
"""

import pandas as pd
import tushare as ts
import matplotlib.pyplot as plt
import statsmodels.api as sm
import re
import numpy as np


def modelCAMP(code,name, starttime, endtime):
    # 资本资产进价模型(CAPM)
    # Ri -Rf = β*(Rm-Rf) + ε
    # 载入股指数据
    sh = ts.get_k_data('sh', start=starttime,end=endtime, autype='qfq')  # 获取上证数据
    sh["p_change"] = (sh["close"] / sh["close"].shift(1) - 1) * 100  # 利用今日收盘价和前日收盘价计算股价波动,新增一列
    try:
        gzmt = ts.get_k_data(code, start=starttime,end=endtime, autype='qfq')  # 获取股票数据
        # 一些企业在2018年之前还未上市,作为特殊情况处理,返回0
        if len(gzmt.date) == 0:
            return [0]
        gzmt["p_change"] = (gzmt["close"] / gzmt["close"].shift(1) - 1) * 100
    except:
        return [0]

    # print(code)
    ret_merge = pd.merge(pd.DataFrame(sh.p_change), pd.DataFrame(gzmt.p_change), left_index = True, right_index = True
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值