暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

利用Wind API提取Wind数据库数据

筑基期摸鱼大师 2022-12-07
4991
(
好好学习 
天天向上
)

一直以为Wind的API很高贵

最近才知道原来有Wind账号

可以pythonwind底层数据库提数

excel插件瞬间不香了

🙋如果Wind账号有API权限,点击量化--数据接口--Python修复;等Wind电脑端修复十几秒就可以用;点击代码生成器,选择python语言,点选需要的数据,然后代码生成器会弹出对应的python代码,对该段代码进行简单修改即可。

🙋在pycharm编辑界面输入函数运行,即可得到相应的数据。.Fields表明该函数返回有几种数据;而返回的数据存放在.Data,该数据的数据类型是列表嵌套列表,元素的顺序与上述.Fields的顺序一致。

🙋多维列表可以直转dataframe,但列表里的一个元素就是生成dataframe的一行数据,因此可以将其转置。

🙋得到沪深300成分股的代码后,运用函数从Wind底层数据库调取数据且对函数结果进行整理,返回沪深300成分股的所有涨跌幅数据。

🙋因为不熟悉证券代码编号,所以再对datafram的列名进行映射,将其改成中文名字。

还有更多的操作可以参考:
🙉https://www.cnblogs.com/champaign/p/15638225.html
代码:


    import pandas as pd
    import numpy as np
    from WindPy import w
    import datetime




    w.start()


    current_day = datetime.datetime.now().strftime("%Y-%m-%d")
    yesterday_day = (datetime.datetime.now()-datetime.timedelta(days=1)).strftime("%Y-%m-%d") ##昨天


    ###1.获取沪深300成分股


    husen_300 = w.wset("sectorconstituent","date=%s;windcode=000300.SH"%yesterday_day)
    husen_300 = pd.DataFrame(data=husen_300.Data[1:]).T ##多维列表转dataframe,一个列别
    husen_300.columns = ['code','company']


    ###2.调取沪深300成分股的收盘涨跌幅数据


    def get_data(stocks,i,day_time,yesterday_day):
    data = w.wsd(stocks,i,day_time,yesterday_day, "")
    df = data.Data
    data_columns = data.Times
    data = pd.DataFrame(df, columns=data_columns, index=stocks).T
    return data


    stocks = husen_300['code'].values.tolist() ##数据类型要是列表
    data_pct_chg = get_data(stocks,"pct_chg","ED-10TD",yesterday_day)


    ##将代码名字映射为中文名字
    dict = dict(zip(husen_300["code"],husen_300["company"]))
    data_pct_chg.columns = data_pct_chg.columns.map(dict)


    print(data_pct_chg)


    文章转载自筑基期摸鱼大师,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论