Tushare ID:422302
总体目标
- 统计各基金经理2020年底的管理规模
- 选取规模前50的基金经理,作为分析对象
- 统计上述对象的基金在2020年第三、四季度的持仓变化(基金按2020年收益率降序排列),并输出为excel文件。
部分结果展示
前期准备:导入必要的包+Tushare接口初始化
import tushare as ts
import pandas as pd
import time
from tqdm import tqdm
token = "你的token"
ts.set_token(token)
pro = ts.pro_api()
1 获取混合型基金2020年末规模(含收益率信息)
1.1 获取混合型基金的基本信息
接口文档:https://waditu.com/document/2?doc_id=19
fund_info_df = pro.fund_basic()
filter1 = fund_info_df["fund_type"] == "混合型"
code_name = fund_info_df[filter1][["ts_code", "name"]]
code_name
结果如下:
1.2 计算各基金2020年的收益率
1.2.1 获取2019、2020年末基金净值
接口文档:https://waditu.com/document/2?doc_id=119
merge_cols = ["ts_code", "accum_nav"]
tmp_df2019 = pro.fund_nav(end_date="20191231")
merge2 = tmp_df2019[merge_cols]
merge2.columns = ["ts_code", "accum_nav2019"]
tmp_df2020 = pro.fund_nav(end_date="20201231")
merge1 = tmp_df2020[merge_cols]
merge1.columns = ["ts_code", "accum_nav2020"]
1.2.2 2019、2020年数据合并
merge_df = merge1.merge(merge2, how="inner", on="ts_code")
1.2.3 2020年收益率计算
merge_df["Return2020"] = (merge_df["accum_nav2020"] / merge_df["accum_nav2019"] - 1) * 100
1.2.4 去掉重复值和空值
merge_df.drop_duplicates(keep="first", inplace=True)
merge_df.dropna(how="any", inplace=True)
1.2.5 信息拼接
return_df = merge_df.merge(code_name, how="inner")