

二.具体实现
import akshare as ak
import time
from config.base import base_config
from config.path import DATA_DIR
def download_data(symbol):
print(symbol)
code = symbol[:6]
# 回测最好用后复权数据,前复权会有负数的问题
df = ak.fund_etf_hist_em(symbol=code, period="daily", start_date="20000101",
end_date=time.strftime('%Y%m%d'), adjust="hfq")
cols = {'日期': 'date', '开盘': 'open', '收盘': 'close', '最高': 'high', '最低': 'low', '成交量': 'volume',
'换手率': 'turn_over', '成交额': 'amount'}
df.rename(columns=cols, inplace=True)
df['date'] = df['date'].str.replace('-', '')
# 只取cols这几列数据
df = df[list(cols.values())]
df['symbol'] = symbol
print(df)
parent_path = base_config.mkdir_path(DATA_DIR, 'etfs')
csv_path = base_config.join_path(parent_path, f'{symbol}.csv')
with open(csv_path, 'w') as f:
df.to_csv(f, index=False)
print(df)
if __name__ == '__main__':
symbols = [
'511220.SH', # 城投债
'512010.SH', # 医药
'518880.SH', # 黄金
'163415.SZ', # 兴全商业
'159928.SZ', # 消费
'161903.SZ', # 万家行业优选
'513100.SH' # 纳指
] # 证券池列表
for symbol in symbols:
download_data(symbol)
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/268148
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!