Commit 828fe9bd authored by 赵杰's avatar 赵杰

波动率,最大回撤

parent 7722f600
...@@ -735,7 +735,7 @@ class PortfolioDiagnose(object): ...@@ -735,7 +735,7 @@ class PortfolioDiagnose(object):
self.proposal_fund.append(proposal) self.proposal_fund.append(proposal)
prod = prod[(prod.index >= self.start_date) & (prod.index <= self.end_date)] prod = prod[(prod.index >= self.start_date) & (prod.index <= self.end_date)]
prod = resample(prod, get_trade_cal(), min(self.freq_list)) prod = resample(prod, get_trade_cal(), max(self.freq_list))
if 'cal_date' in prod.columns: if 'cal_date' in prod.columns:
prod.drop(labels='cal_date', inplace=True, axis=1) prod.drop(labels='cal_date', inplace=True, axis=1)
if 'end_date' in prod.columns: if 'end_date' in prod.columns:
...@@ -1199,13 +1199,10 @@ class PortfolioDiagnose(object): ...@@ -1199,13 +1199,10 @@ class PortfolioDiagnose(object):
# 新组合累积收益 # 新组合累积收益
new_return_ratio = propose_fund_return_limit_data["new_return"].values[-1] new_return_ratio = propose_fund_return_limit_data["new_return"].values[-1]
# 新组合区间年化收益率 # 新组合区间年化收益率
freq_max = group_order_df["freq"].max() freq_max = group_order_df["freq"].min()
n_freq = freq_days(int(freq_max)) n_freq = freq_days(int(freq_max))
new_return_ratio_year = annual_return(propose_fund_return_limit_data["new_return"].values[-1], propose_fund_return_limit_data, n_freq) new_return_ratio_year = annual_return(propose_fund_return_limit_data["new_return"].values[-1], propose_fund_return_limit_data, n_freq)
# 新组合波动率
new_volatility = volatility(propose_fund_return_limit_data["new_return"]+1, n_freq)
# 新组合最大回撤 # 新组合最大回撤
new_drawdown = max_drawdown(propose_fund_return_limit_data["new_return"]+1) new_drawdown = max_drawdown(propose_fund_return_limit_data["new_return"]+1)
...@@ -1218,6 +1215,8 @@ class PortfolioDiagnose(object): ...@@ -1218,6 +1215,8 @@ class PortfolioDiagnose(object):
new_sharpe = 0 new_sharpe = 0
except: except:
new_sharpe = 0 new_sharpe = 0
# 新组合波动率
new_volatility = volatility(sim, n_freq)
# 指数收益 # 指数收益
index_return = index_return[index_return.index >= group_order_start_date] index_return = index_return[index_return.index >= group_order_start_date]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment