python爬取股票平均成本怎么算_Python-多个股票的投资组合分析,对,进行

本文介绍了如何使用Python计算股票投资组合的收益和风险。通过选取特定股票,计算不同权重下的组合收益,包括风险最小组合和夏普比率最大组合,从而找出最优投资策略。
摘要由CSDN通过智能技术生成

一、 股票数据

1 股票选择

一共有十只股票,投资者购买目标指数中的资产,如果购买全部,从理论上讲能够完 美跟踪指数,但是当指数成分股较多时,购买所有资产的成本过于高昂,同时也 需要很高的管理成本,在实际中一般不可行,投资者购买成分股时,过多过少都不太合理。所以对十只股票数据选择。分别考虑风险最小和收益与风险平衡两种选择。此处不详细讨论股票的选择问题。

根据各股票所占投资权重选择股票。

1-1 风险最小时

十只股票所占权重:

[0.1753033 0.00369514 0.15429923 0.05403638 0.05760288 0.08978148 0.0404732 0.24393783 0.11091322 0.24791015]

权重大小代表在风险最小的情况下选择各支股票的概率,筛选出前五的股票:abc001,abc003,abc008,abc009,abc010作为成分股。

1-2 投资最优组合

收益和风险平衡时,各支股票的占比为:

[0.13995881 0.04174609 0.0744733 0.19486535 0.06728951 0.03574238 0.04879157 0.17721958 0.04126201 0.22572025]

根据模拟的结果,我们选取股票:abc001,abc004,abc007,abc008,abc010五支股票

首先导入将要用的Python包。

import pandas as pd

import matplotlib.pyplot as plt

from pandas import read_excel

import numpy as np

下面只展示1-1选择的股票组合(1-2选择的组合类似,只需要改变股票名)

2 获取每支股票的收盘价

将股票的每日的收盘价存入数据框 StockPrices 变量中。

# 创建空的DataFrame变量,用于存储股票数据

StockPrices = pd.DataFrame()

market_value_list=[] #存储每支股票的平均市值

# 创建股票代码的列表

ticker_list = ['abc001','abc003','abc008','abc009','abc010']

# 使用循环,挨个获取每只股票的数据,并存储每日收盘价

for ticker in ticker_list:

stock_data = pd.read_excel('C:/Users/asus/Desktop/zqb/data/'+ticker+ '.xlsx', parse_dates=['时间'], index_col='时间',encoding='utf-8')

stock_data=stock_data.loc['2019-01-29':'2020-03-25']

market_value_list.append(stock_data['成交量'].mean())

StockPrices.index.name = 'date' # 日期为索引列

# 输出数据的前5行

print(StockPrices.head())

3 计算股票的日收益率

计算股票每天的收益率,将数据存储在数据框 StockReturns 变量中。

# 计算每日收益率,并丢弃缺失值

StockReturns = StockPrices.pct_change().dropna()

# 打印前5行数据

print(StockReturns.head())

</

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值