Python如何使用历史数据模拟法计算投资组合VaR?(数据来源为Tushare)
本文数据可以点赞关注私信我获取!
VaR(Value at Risk)是一种常用的风险管理指标,用于衡量投资组合在特定时间内的最大可能损失。历史数据模拟法是一种计算VaR的方法,本文将介绍如何使用Tushare数据库获取“中国工商银行”和“兴业银行”2022年10月1日至2023年3月31日期间每个交易日的收盘价格数据,假设两个股票的投资额分别是3/4和1/4,如果目前两种股票的市值共计50万元人民币,置信度为99%,利用历史数据模拟法计算该投资组合持有期为5天的VaR。
步骤1:获取数据
首先,需要获取股票数据。我们以中国工商银行和兴业银行为例,获取它们在2022年10月1日至2023年3月31日期间每个交易日的收盘价格数据。代码如下:
import pandas as pd
import numpy as np
import tushare as ts
from scipy.stats import norm
# Tushare设置
pro = ts.pro_api('你的token') #你的token
start_date = '20221001' #起始日期
end_date = '20230331' #结束日期
code_list = ['601398.SH','601166.SH'] #你需要的股票代码,上海的是.SH,深圳的是.SZ
for i in code_list: #遍历list
df = pro.daily(ts_code=i, start_date=start_date, end_date=end_date) #tushare获取股票日度信息
df = df[['ts_code','trade_date','close']] #只保留需要的数据
df.to_csv(f'{
i}.csv',encoding='gbk') #导出为csv文件
以上代码中,我们使用了Tushare获取股票数据,并将数据导出为csv文件。
步骤2:处理数据
获取数据后,需要对数据进行处理。首先,我们需要将数据框中的日期列转换为日期格式,并将数据框中的收盘价列转换为浮点数。代码如下:
# 读取数据文件
df1 = pd.read_csv('601398.SH.csv') #工商银行
df2 = pd