另外,如果我只是要算出一个股票的VaR值,是不是只要修改这一段代码就足够了
def fun_getequity_value(context, equity_ratio):
def __fun_getdailyreturn(stock, freq, lag):
hStocks = history(lag, freq, 'close')[stock]
dailyReturns = hStocks.resample('D', how = 'last').pct_change().fillna(value = 0, method = None, axis = 0).values
return dailyReturns
def __fun_getStd(stock, freq, lag):
dailyReturns = __fun_getdailyreturn(stock, freq, lag)
std = np.std(dailyReturns)
return std
def __fun_getEquity_value(__equity_ratio, __risk_money, __confidence_ratio):
__equity_list = list(__equity_ratio.keys())
update_universe(__equity_list)
hStocks = history(1, '1d', 'close')
__curVaR = 0
__portfolio_VaR = 0
for stock in __equity_list:
# 每股的 VaR,VaR = 上一日的价格 * 置信度换算得来的标准倍数 * 日收益率的标准差
2017-02-04