python量化数据1:东方财富获取所有ETF信息

一、代码

#使用pip install pandas 
#使用pip install requests
#行业业绩轮动公众号首发
import pandas as pd
import json
import requests
def get_all_etf_data():
        '''
        获取全部的etf数据
        '''
        params={
            'type': 'RPTA_APP_FUNDSELECT',
            'sty': 'ETF_TYPE_CODE,SECUCODE,SECURITY_CODE,CHANGE_RATE_1W,CHANGE_RATE_1M,CHANGE_RATE_3M,YTD_CHANGE_RATE,DEC_TOTALSHARE,DEC_NAV,SECURITY_NAME_ABBR,DERIVE_INDEX_CODE,INDEX_CODE,INDEX_NAME,NEW_PRICE,CHANGE_RATE,CHANGE,VOLUME,DEAL_AMOUNT,PREMIUM_DISCOUNT_RATIO,QUANTITY_RELATIVE_RATIO,HIGH_PRICE,LOW_PRICE,STOCK_ID,PRE_CLOSE_PRICE',
            'extraCols':'' ,
            'source': 'FUND_SELECTOR',
            'client': 'APP',
            'sr': '-1,-1,1',
            'st': 'CHANGE_RATE,CHANGE,SECURITY_CODE',
            'filter': '(ETF_TYPE_CODE="ALL")',
            'extraCols': '',
            'p': '1',
            'ps':2000,
            'isIndexFilter': '1'
        }
        url='https://datacenter.eastmoney.com/stock/fundselector/api/data/get?'
        res=requests.get(url=url,params=params)
        text=res.json()
        df=pd.DataFrame(text['result']['data'])
        columns=['_','_','基金代码','周涨跌幅','月涨跌幅','3月涨跌幅','年涨跌幅','市值','现在市值',
        '基金名称','_','_','主题',"价格",'涨跌幅','涨跌额','成交量','成交额','折价率','_',
        "最高价",'最低价','_','前收盘价']
        df.columns=columns
        df['折价率']=df['折价率'].replace('-',0)
        df['折价率']=pd.to_numeric(df['折价率'])
        df['折价率']=df['折价率'].astype(float)
        df['溢价率']=0-df['折价率']
        del df['_']
        '''
        df['实时参考净值']=df['最新价']*(1+df['折价率'])
        df['实时参考涨跌幅']=df['涨跌幅']*(1+df['折价率'])
        df['实时参考净值']=df['实时参考净值'].apply(lambda x:round(x,4))
        df['实时参考涨跌幅']=df['实时参考涨跌幅'].apply(lambda x:round(x,2))
        '''
        return df
df = get_all_etf_data()
print(df)
df.to_excel("数据.xlsx")

二、运行结果

三、导出的excel:  查看运行后的excel文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值