轉載請註明公衆號:結丹記事本兒,關注後獲取更多懶人投資工具。
摘要
當我們看中某些個指數時,第一步就是挑選對應的指數基金,那麼如何知道指數對應的ETF基金、增強基金以及其他跟蹤該指數的公募基金呢?再進一步,如果有基金的經理人、規模、年化、Alpha和Beta、誤差率等信息,是不是就能用excel篩選功能快速決策?本文用20行代碼即可實現該功能,數據文件和代碼附在文末。
數據樣例
如何使用
篩選指數代碼
過濾IndexTicker和IndexName
篩選規模較大的基金
篩選跟蹤誤差較小的基金
查看基金類型
通常我們會看到ETF、增強和傳統指數基金三類,可以篩選找到自己中意的
代碼實現
主要使用akshare庫來提取指數列表,同時借用了fundsmart的接口來獲取匹配的
import requests
import json
import csv
from multiprocessing.dummy import Pool as ThreadPool
from tqdm import tqdm
import akshare as ak
FUND_URL = "http://www.fundsmart.com.cn/api/fund.list.data.php?d=&t=3&i={}"
stock_df = ak.stock_zh_index_spot()
funds = [x[2:] for x in stock_df['symbol'].to_list()]
def getCoFunds(code):
return requests.get(FUND_URL.format(code)).json()['list']
with ThreadPool(5) as p:
r = list(tqdm(p.imap(getCoFunds, funds), total=len(funds)))
with open('全市場指數基金信息.csv', 'w+') as f:
fieldnames = list(r[0][0].keys())
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader()
for funds in r:
for fund in funds:
fund['indexTicker'] = "'" + fund['indexTicker'].zfill(6)
writer.writerow(fund)
如果您喜歡這篇文章,請點擊右下角再看分享 本文是我公衆號關於量化工具的其中一篇,歡迎關注查閱其他工具和分析方法
本文由博客羣發一文多發等運營工具平臺 OpenWrite 發佈