如何用python,通过tushare库获取股票600028过去两年的日线行情数据,用历史模拟法计算VAR,其中λ分别为1、0.995、0.95,波动率调节参数为0.94。
时间: 2024-02-06 10:11:56 浏览: 25
好的,以下是代码实现:
```python
import tushare as ts
import numpy as np
# 获取股票600028过去两年的日线行情数据
df = ts.get_hist_data('600028', start='2019-01-01', end='2020-12-31')
# 计算每日收益率
returns = df['p_change'].values / 100
# 计算历史模拟法的VAR
lambdas = [1, 0.995, 0.95]
vol_adj = 0.94
var_results = []
for l in lambdas:
var = -np.percentile(returns, q=100 * (1 - l)) * np.sqrt(252) * vol_adj
var_results.append(var)
print("VAR(1): %.2f%%" % (var_results[0] * 100))
print("VAR(0.995): %.2f%%" % (var_results[1] * 100))
print("VAR(0.95): %.2f%%" % (var_results[2] * 100))
```
解释一下代码:
1. 首先使用 tushare 库获取股票代码为 600028 的股票在 2019 年到 2020 年之间的日线行情数据。
2. 使用每日涨跌幅计算每日收益率。
3. 对于每个 λ 值,使用历史模拟法计算 VAR,并将结果存储在 `var_results` 列表中。
4. 最后输出 VAR 的值。
注意:这里 VAR 的值是以百分数形式输出的。