Commit e6e5d8e8 authored by 李宗熹's avatar 李宗熹

修改基金诊断

parent 742c85d2
......@@ -375,7 +375,7 @@ class EfficientFrontier(base_optimizer.BaseConvexOptimizer):
return self._solve_cvxpy_opt_problem()
def efficient_return(self, target_return, market_neutral=False):
def efficient_return(self, target_return, target_drawdown, market_neutral=False):
"""
Calculate the 'Markowitz portfolio', minimising volatility for a given target return.
......@@ -405,12 +405,13 @@ class EfficientFrontier(base_optimizer.BaseConvexOptimizer):
self.objective = cp.quad_form(self._w, self.cov_matrix)
ret = self.expected_returns.T @ self._w
drawdown = self.expected_drawdown.T @ self._w
for obj in self._additional_objectives:
self._objective += obj
self._constraints.append(ret >= target_return)
self._constraints.append(drawdown <= target_drawdown)
# The equality constraint is either "weights sum to 1" (default), or
# "weights sum to 0" (market neutral).
if market_neutral:
......
This diff is collapsed.
......@@ -8,7 +8,7 @@
import logging
logging.basicConfig(level=logging.INFO)
from app.api.engine import tamp_fund_engine, TAMP_SQL
from app.api.engine import tamp_fund_engine, TAMP_SQL, tamp_product_engine
from app.utils.week_evaluation import *
......
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