Commit 5722cfad authored by wenwen.tang's avatar wenwen.tang 😕

调仓日当天忽略配息

parent 8c93684d
...@@ -67,22 +67,16 @@ class DividendPortfoliosHolder(PortfoliosHolder): ...@@ -67,22 +67,16 @@ class DividendPortfoliosHolder(PortfoliosHolder):
share = {int(x): y for x, y in json.loads(last_nav['portfolios'])['share'].items()} share = {int(x): y for x, y in json.loads(last_nav['portfolios'])['share'].items()}
fund_div_tuple = self.get_navs_and_div(fund_ids=tuple(set(weight) | set(share)), day=day) fund_div_tuple = self.get_navs_and_div(fund_ids=tuple(set(weight) | set(share)), day=day)
navs = fund_div_tuple[0] navs = fund_div_tuple[0]
# todo 如果建仓是遇到基金配息,则忽略
fund_dividend = fund_div_tuple[1]
dividend_acc = last_nav['div_acc'] dividend_acc = last_nav['div_acc']
nav = round(sum([navs[x] * y for x, y in share.items()]), 4) + last_nav['fund_div'] nav = round(sum([navs[x] * y for x, y in share.items()]), 4) + last_nav['fund_div']
else: else:
nav = self.init_nav nav = self.init_nav
fund_div_tuple = self.get_navs_and_div(fund_ids=tuple(weight), day=day) fund_div_tuple = self.get_navs_and_div(fund_ids=tuple(weight), day=day)
navs = fund_div_tuple[0] navs = fund_div_tuple[0]
# todo 如果建仓是遇到基金配息,则忽略
fund_dividend = fund_div_tuple[1]
dividend = nav * self.month_dividend dividend = nav * self.month_dividend
nav = nav - dividend nav = nav - dividend
share = {x: nav * w / navs[x] for x, w in weight.items()} share = {x: nav * w / navs[x] for x, w in weight.items()}
# todo 如果建仓是遇到基金配息,则忽略 fund_dividend = 0
fund_dividend = sum(
map(lambda k: share[k] * fund_dividend[k], filter(lambda k: k in fund_dividend, share.keys())))
dividend_acc = dividend + dividend_acc dividend_acc = dividend + dividend_acc
asset_nav = nav + fund_dividend + dividend asset_nav = nav + fund_dividend + dividend
rhp.insert({ rhp.insert({
......
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