Commit 4f938e27 authored by stephen.wang's avatar stephen.wang

Merge remote-tracking branch 'origin/dev-dividend' into dev-dividend

parents 90e3aeea 1eff3e20
...@@ -3,9 +3,20 @@ from py_jftech import autowired ...@@ -3,9 +3,20 @@ from py_jftech import autowired
from api import DatumType, Datum from api import DatumType, Datum
risk_dict = {}
@autowired @autowired
def format_weight(weight: dict, to=1, datum: Datum = None) -> dict: def build_risk_dict(datum: Datum = None):
global risk_dict
if risk_dict:
pass
else:
funds = datum.get_datums(type=DatumType.FUND)
risk_dict = {fund['id']: fund['risk'] for fund in funds}
def format_weight(weight: dict, to=1) -> dict:
""" """
对权重的小数点进行截取,到指定权重 对权重的小数点进行截取,到指定权重
@param datum: @param datum:
...@@ -13,19 +24,19 @@ def format_weight(weight: dict, to=1, datum: Datum = None) -> dict: ...@@ -13,19 +24,19 @@ def format_weight(weight: dict, to=1, datum: Datum = None) -> dict:
@param to: 指定权重 @param to: 指定权重
@return: @return:
""" """
# funds = datum.get_datums(type=DatumType.FUND) # funds = datum.get_datums(type=DatumType.FUND)
# risk_dict = {fund['id']: fund['risk'] for fund in funds} # risk_dict = {fund['id']: fund['risk'] for fund in funds}
# risk = 0 # risk = 0
# for k, v in weight.items(): # for k, v in weight.items():
# risk += risk_dict.get(int(k)) * v # risk += risk_dict.get(int(k)) * v
# print(risk) # print(risk)
build_risk_dict()
weight_series = pd.Series(weight) weight_series = pd.Series(weight)
weight_series = weight_series.fillna(0) weight_series = weight_series.fillna(0)
weight_series = weight_series.apply(lambda x: round(x, 2)) weight_series = weight_series.apply(lambda x: round(x, 2))
if weight_series.sum() == to: if weight_series.sum() == to:
return dict(weight_series) return dict(weight_series)
funds = datum.get_datums(type=DatumType.FUND)
risk_dict = {fund['id']: fund['risk'] for fund in funds}
id_sort = sorted(weight_series.to_dict().keys(), key=lambda x: risk_dict.get(int(x))) id_sort = sorted(weight_series.to_dict().keys(), key=lambda x: risk_dict.get(int(x)))
# 低风险 # 低风险
minidx = id_sort[0] minidx = id_sort[0]
......
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