美文网首页
python 积累6(wind数据库对指数成分股的提取)

python 积累6(wind数据库对指数成分股的提取)

作者: 黄yy家的jby | 来源:发表于2019-02-25 14:04 被阅读0次
import cx_Oracle
import pandas as pd
import numpy as np
import os
os.chdir('C:\\Users\\jiangbaiyan\\Desktop\\找到行业的成分股')
os.getcwd()  


conn = cx_Oracle.connect('windquery/wind2010query@10.2.89.132:1521/winddb')
cur = conn.cursor() 
def search_securityID(windID):
    sql = ''' select F16_0001 from TB_OBJECT_0001 where F1_0001 = '%s' ''' % windID
    cur.execute(sql)
    temp = cur.fetchall()
    return temp[0][0]

def search_name(securityID):
    sql = ''' select F1_0001, F6_0001 from TB_OBJECT_0001 where F16_0001 = '%s' ''' % securityID
    cur.execute(sql)
    temp = cur.fetchall()
    return [temp[0][0], temp[0][1]]

def search_name2securityID(name):
    sql = ''' select F16_0001 from TB_OBJECT_0001 where F6_0001 = '%s' ''' % name
    cur.execute(sql)
    temp = cur.fetchall()
    return temp[0][0]

def get_stock(indexID):
    sql = ''' select F1_1475  from TB_OBJECT_1475 where F2_1475 = '%s' and F6_1475 = 1 ''' % (indexID)
    cur.execute(sql)
    temp = cur.fetchall()    
    return temp

def search_windID(securityID):
    sql = ''' select F1_0001 from TB_OBJECT_0001 where F16_0001 = '%s' ''' % securityID
    cur.execute(sql)
    temp = cur.fetchall()
    return temp[0][0]

industry = pd.read_excel('非重复行业.xlsx')
stock_wind = pd.read_excel('个股代码.xlsx')
industry.columns = ['方便阅读','简称']
industry_list = []
stock_list = []

for key in list(industry['简称']):
    print(key)
    industry_list.append(search_name2securityID(key))    
for key in list(stock_wind['代码']):
    print(key)
    stock_list.append(search_securityID(key))

dic = {}
for key in industry_list:
    temp =[]
    temp = get_stock(key)
    pd_temp = pd.DataFrame()
    for i,stock in enumerate(temp):
        pd_temp.loc[i,'股票ID'] = search_name(stock[0])[0]
        pd_temp.loc[i,'证券简称']= search_name(stock[0])[1]
        if stock[0] in stock_list:
            pd_temp.loc[i,'辅助列'] = 1
        else:
            pd_temp.loc[i,'辅助列'] = 0
        print(stock[0])    
    dic[search_name(key)[1]] = pd_temp
    print(key)
np.save('先进制造行业成分股.npy',dic)    


writer = pd.ExcelWriter('先进制造行业成分股.xlsx')
for key in dic:
    temp = dic[key]
    temp.to_excel(writer,sheet_name = key,index = 0)
    print(key)
writer.save()

相关文章

  • python 积累6(wind数据库对指数成分股的提取)

  • 指数的成分股

    根据指数基金的确定标准,指数基金跟踪什么指数,基金经理就按照这个指数的成分股一个不拉的买进来。 那每个指数的成分股...

  • 3、宽基指数基金

    行业指数:中证消费指数 1、宽基指数: 1、包含十支以上的成分股 2、不限制成分股所在的行业 2、常见宽基指数: ...

  • 90-59深成指数

    深圳成分股指数。深圳成分股指数由深圳证券交易所编制,通过对所有在深圳证券交易所上市的公司进行考察,按一定标准选出5...

  • 学习笔记—1

    沪深300指数的成分股大致上就是上证180指数和深证100指数的成分股的叠加,所以沪深300指数也属于大中盘股指数...

  • 指数基金的定义

    指数基金【指的是跟踪特定的指数,并按照这个指数成分股的比例 买入同样的股票组合的基金】 指数是什么? 指数...

  • 什么是中证500指数?

    中证500指数是最具有代表性的小盘股指数。它的成分股是这样选出来的。首先,把沪深300指数的所有成分股排除,这样就...

  • 第五天:指数基金 指数基金的定义

    指数基金,指的是跟踪特定的指数,并按照这个指数成分股的比例,买入同样的股票组合的基金。 指数是什么? 指数其实就是...

  • 第五天:指数基金

    指数基金的定义:指数基金,指的是跟踪特定的指数,并按照这个指数成分股的比例,买入同样的股票组合的基金。 指数是什么...

  • 常见的指数基金品种

    我们为什么投资指数基金呢? 首先介绍指数基金的定义 指数基金:指的是跟踪特定的指数,并按照这个指数成分股的比例,买...

网友评论

      本文标题:python 积累6(wind数据库对指数成分股的提取)

      本文链接:https://www.haomeiwen.com/subject/cxxgyqtx.html