Commit 565999c1 authored by wang zhengwei's avatar wang zhengwei

fix bug

parent 1975f9d4
...@@ -142,9 +142,10 @@ class UserCustomerDataAdaptor: ...@@ -142,9 +142,10 @@ class UserCustomerDataAdaptor:
need_less_share -= ori_share need_less_share -= ori_share
user_customer_order_df.loc[index_ori, "confirm_share"] = 0 user_customer_order_df.loc[index_ori, "confirm_share"] = 0
else: else:
user_customer_order_df.loc[index_ori, "confirm_share"] = row_ori["confirm_share"] - need_less_share
need_less_share = 0 need_less_share = 0
user_customer_order_df.loc[index_ori, "confirm_share"] = row_ori[ # user_customer_order_df.loc[index_ori, "confirm_share"] = row_ori[
"confirm_share"] - need_less_share # "confirm_share"] - need_less_share
if need_less_share <= 0: if need_less_share <= 0:
break break
user_customer_order_df = user_customer_order_df[(user_customer_order_df["order_type"] == 1)&(user_customer_order_df["confirm_share"] > 0)] user_customer_order_df = user_customer_order_df[(user_customer_order_df["order_type"] == 1)&(user_customer_order_df["confirm_share"] > 0)]
......
...@@ -455,16 +455,25 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor): ...@@ -455,16 +455,25 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
fund_hoding_info["confirm_date"] = row["confirm_share_date"].strftime("%Y-%m-%d") fund_hoding_info["confirm_date"] = row["confirm_share_date"].strftime("%Y-%m-%d")
fund_hoding_info["hold_year"] = "%.2f" % round((self.end_date - pd.to_datetime(row["confirm_share_date"])).days/365.0, 2) # 存续年数 fund_hoding_info["hold_year"] = "%.2f" % round((self.end_date - pd.to_datetime(row["confirm_share_date"])).days/365.0, 2) # 存续年数
fund_hoding_info["market_values"] = round((float(row["confirm_share"]) * (fund_basic_info["cur_cnav"] - confirm_cnav) + float(row["confirm_amount"]))/10000, 2) fund_hoding_info["market_values"] = round((float(row["confirm_share"]) * (fund_basic_info["cur_cnav"] - confirm_cnav) + float(row["confirm_amount"]))/10000, 2)
temp_market_values = float(row["confirm_share"]) * (fund_basic_info["cur_cnav"] - confirm_cnav) + float(row["confirm_amount"]) # temp_market_values = float(row["confirm_share"]) * (fund_basic_info["cur_cnav"] - confirm_cnav) + float(row["confirm_amount"])
fund_hoding_info["weight"] = "%.2f" % round(float(fund_hoding_info["market_values"]) / total_market_values * 10000.0 * 100, 2) # 月末占比 # fund_hoding_info["weight"] = "%.2f" % round(float(fund_hoding_info["market_values"]) / total_market_values * 10000.0 * 100, 2) # 月末占比
fund_hoding_info["cost"] = "%.2f" % round(float(row["confirm_amount"])/10000, 2) # 投资本金 # # fund_hoding_info["cost"] = "%.2f" % round(float(row["confirm_amount"])/10000, 2) # 投资本金
# fund_hoding_info["cost"] = "%.2f" % round(float(row["confirm_share"]*row["nav"])/10000, 2)
temp_market_values = float(row["confirm_share"]) * (
fund_basic_info["cur_cnav"] - confirm_cnav + float(row["nav"]))
fund_hoding_info["market_values"] = round(temp_market_values / 10000.0, 2)
fund_hoding_info["weight"] = "%.2f" % round(
float(fund_hoding_info["market_values"]) / total_market_values * 10000.0 * 100, 2) # 月末占比
fund_hoding_info["cost"] = "%.2f" % round(float(row["confirm_share"] * row["nav"]) / 10000, 2) # 投资本金
# 当月收益 # 当月收益
if row['confirm_share_date'] > self.month_start_date: if row['confirm_share_date'] > self.month_start_date:
cal_month_start_date = row['confirm_share_date'] cal_month_start_date = row['confirm_share_date']
last_month_cnav_serise = p_result_cnav_data[p_result_cnav_data.index == pd.to_datetime(cal_month_start_date)][ last_month_cnav_serise = p_result_cnav_data[p_result_cnav_data.index == pd.to_datetime(cal_month_start_date)][
row["fund_id"]].dropna() row["fund_id"]].dropna()
else: else:
cal_month_start_date = self.month_start_date - datetime.timedelta(days=1) # cal_month_start_date = self.month_start_date - datetime.timedelta(days=1)
cal_month_start_date = self.month_start_date
last_month_cnav_serise = p_result_cnav_data[p_result_cnav_data.index<pd.to_datetime(cal_month_start_date)][row["fund_id"]].dropna() last_month_cnav_serise = p_result_cnav_data[p_result_cnav_data.index<pd.to_datetime(cal_month_start_date)][row["fund_id"]].dropna()
if len(last_month_cnav_serise) == 0: if len(last_month_cnav_serise) == 0:
fund_hoding_info["profit"] = round(float(row["confirm_share"]) * (fund_basic_info["cur_cnav"] - confirm_cnav) / 10000, 2) fund_hoding_info["profit"] = round(float(row["confirm_share"]) * (fund_basic_info["cur_cnav"] - confirm_cnav) / 10000, 2)
......
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