|
|
@ -17,11 +17,7 @@ import pandas as pd
|
|
|
|
import numpy as np
|
|
|
|
import numpy as np
|
|
|
|
from fund_info.statistic import FundStatistic
|
|
|
|
from fund_info.statistic import FundStatistic
|
|
|
|
from utils.index import get_last_quarter_str, get_stock_market, find_from_list_of_dict, update_xlsx_file
|
|
|
|
from utils.index import get_last_quarter_str, get_stock_market, find_from_list_of_dict, update_xlsx_file
|
|
|
|
|
|
|
|
from utils.file_op import read_dir_all_file
|
|
|
|
import os
|
|
|
|
|
|
|
|
from openpyxl import load_workbook
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_fund_code_pool():
|
|
|
|
def get_fund_code_pool():
|
|
|
|
# fund_code_pool = ['000001', '160133', '360014', '420002',
|
|
|
|
# fund_code_pool = ['000001', '160133', '360014', '420002',
|
|
|
@ -320,22 +316,27 @@ def get_special_fund_code_holder_stock_detail(each_statistic=None, quarter_index
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def calculate_quarter_fund_count():
|
|
|
|
def calculate_quarter_fund_count():
|
|
|
|
stock_name_code = '600519-贵州茅台'
|
|
|
|
stock_markets = ['A股/上证主板', 'A股/创业板', 'A股/科创板', 'A股/深证主板', '港股', '其他']
|
|
|
|
path = './outcome/数据整理/stocks/A股/上证主板/' + stock_name_code + '.xlsx'
|
|
|
|
for market in stock_markets:
|
|
|
|
xls = pd.ExcelFile(path, engine='openpyxl')
|
|
|
|
dir_path = './outcome/数据整理/stocks/' + market + '/'
|
|
|
|
quarter_list = []
|
|
|
|
files = read_dir_all_file(dir_path)
|
|
|
|
sum_column_name = '总计'
|
|
|
|
print(market, "files", len(files))
|
|
|
|
for sheet_name in reversed(xls.sheet_names):
|
|
|
|
for file_path in files:
|
|
|
|
if sheet_name == '总计':
|
|
|
|
path = dir_path + file_path
|
|
|
|
continue
|
|
|
|
xls = pd.ExcelFile(path, engine='openpyxl')
|
|
|
|
item_quarter_data = [sheet_name]
|
|
|
|
quarter_list = []
|
|
|
|
df_cur_sheet = xls.parse(sheet_name)
|
|
|
|
sum_column_name = '总计'
|
|
|
|
item_quarter_data.append(len(df_cur_sheet))
|
|
|
|
for sheet_name in reversed(xls.sheet_names):
|
|
|
|
item_quarter_data.append(round(df_cur_sheet['持有市值(亿元)'].sum(),2))
|
|
|
|
if sheet_name == '总计':
|
|
|
|
quarter_list.append(item_quarter_data)
|
|
|
|
continue
|
|
|
|
columns = ["日期", "持有数量", '持有市值']
|
|
|
|
item_quarter_data = [sheet_name]
|
|
|
|
df_quarter_list = pd.DataFrame(quarter_list, columns=columns)
|
|
|
|
df_cur_sheet = xls.parse(sheet_name)
|
|
|
|
update_xlsx_file(path, df_quarter_list, sum_column_name)
|
|
|
|
item_quarter_data.append(len(df_cur_sheet))
|
|
|
|
|
|
|
|
item_quarter_data.append(round(df_cur_sheet['持有市值(亿元)'].sum(),2))
|
|
|
|
|
|
|
|
quarter_list.append(item_quarter_data)
|
|
|
|
|
|
|
|
columns = ["日期", "持有数量", '持有市值']
|
|
|
|
|
|
|
|
df_quarter_list = pd.DataFrame(quarter_list, columns=columns)
|
|
|
|
|
|
|
|
update_xlsx_file(path, df_quarter_list, sum_column_name)
|
|
|
|
if __name__ == '__main__':
|
|
|
|
if __name__ == '__main__':
|
|
|
|
each_statistic = FundStatistic()
|
|
|
|
each_statistic = FundStatistic()
|
|
|
|
# quarter_index = "2021-Q2"
|
|
|
|
# quarter_index = "2021-Q2"
|
|
|
|