fix: 增加东财二级数据转存

master
laixingyu 3 years ago
parent 8df9add08c
commit ede3d5b672

@ -1,18 +1,36 @@
#导入指数数据 #导入指数数据
import pymysql import pymysql
# 数据库A的连接信息 # 数据库A的连接信息NAS数据库
# db_a_config = {
# 'host': '192.168.0.222',
# 'user': 'root',
# 'password': '1qazse42W3',
# 'db': 'ry',
# 'charset': 'utf8mb4',
# }
# # 数据库B的连接信息NAS数据库
# db_b_config = {
# 'host': '192.168.0.222',
# 'user': 'root',
# 'password': '1qazse42W3',
# 'db': 'mojin',
# 'charset': 'utf8mb4',
# }
# 数据库A的连接信息腾讯云数据库
db_a_config = { db_a_config = {
'host': '192.168.0.222', 'host': '124.223.98.178',
'user': 'root', 'user': 'root',
'password': '1qazse42W3', 'password': '1qazse42W3',
'db': 'ry', 'db': 'ry',
'charset': 'utf8mb4', 'charset': 'utf8mb4',
} }
# 数据库B的连接信息 # 数据库B的连接信息;腾讯云数据库
db_b_config = { db_b_config = {
'host': '192.168.0.222', 'host': '124.223.98.178',
'user': 'root', 'user': 'root',
'password': '1qazse42W3', 'password': '1qazse42W3',
'db': 'mojin', 'db': 'mojin',
@ -36,107 +54,79 @@ try:
db_a_cursor.execute(sql_trade_qurey,sql_trade) db_a_cursor.execute(sql_trade_qurey,sql_trade)
trading_dates = db_a_cursor.fetchall() trading_dates = db_a_cursor.fetchall()
#查询东财基础数据
industries_map = {}
sql_stockindustry = "select code,name from stock_index where trade_day = '2022-07-01'"
db_a_cursor.execute(sql_stockindustry)
industries = db_a_cursor.fetchall()
for industry in industries:
code,name = industry
industries_map[name] = (code,name)
#查询基础数据
sql_stockbasic = "select code,name,blemind2,blemind3,listdate from stock_basis"
db_a_cursor.execute(sql_stockbasic)
stock_basic_datas = db_a_cursor.fetchall()
for row in stock_basic_datas:
code,name,blemind2,blemind3,listdate = row
if code == '数据来源东方财富Choice数据' :
continue
# print('stock_basic_datas: ',code,name,blemind2)
stock_basic_map[code] = (code,name,blemind2,blemind3,listdate,industries_map[blemind2][0])
for row in trading_dates: for row in trading_dates:
trading_date,week,trade = row trading_date,week,trade = row
print('start transfer ',trading_date , ' data.') print('start transfer ',trading_date , ' data.')
#查询日交易数据 #查询日交易数据
sql_stock_query = 'select code,trade_day, open,close,high,low,islimit,isdrop,differrange,trade_days,volumn,amount,differrange10,differrange20,differrange60,avg_volume20,freefloat_market_value,total_market_value,agencies_hold from stocks where trade_day = %s' sql_stock_query = 'select code,trade_day, open,close,high,low,differrange,volumn,amount,limitupnum,limitdownnum,suspendnum,risenum,fallnum,flatnum,componentnum,mv,pettm,pettm_mid,liqmv,rcnthigh,rcntlow from stock_index where trade_day = %s'
db_a_cursor.execute(sql_stock_query,trading_date) db_a_cursor.execute(sql_stock_query,trading_date)
datas = db_a_cursor.fetchall() datas = db_a_cursor.fetchall()
sortIndex = 1 sortIndex = 1
#遍历数据,并组装数据,转存到目标库中 #遍历数据,并组装数据,转存到目标库中
for stock in datas: for stock_index_data in datas:
code,trade_day, open,close,high,low,islimit,isdrop,differrange,trade_days,volumn,amount,differrange10,differrange20,differrange60,avg_volume20,freefloat_market_value,total_market_value,agencies_hold = stock code,name,trade_day, open,close,high,low,differrange,volumn,amount,limitupnum,limitdownnum,suspendnum,risenum,fallnum,flatnum,componentnum,mv,pettm,pettm_mid,liqmv,rcnthigh,rcntlow = stock_index_data
business_date = trading_date business_date = trading_date
sort = sortIndex sort = sortIndex
sortIndex +=1 sortIndex +=1
security_code = code security_code = code
security_name = stock_basic_map[code][1] security_name = name
security_type = '' security_type = 'EI'
if code[0:2] == '30': number_ingredients = componentnum
security_type = '30'
elif code[0:2] == '00':
security_type = 'SZ'
elif code[0:2] == '60':
security_type = 'SH'
elif code[0:3] == '688':
security_type = '688'
# print(security_type,security_name,security_code)
opening_price = open opening_price = open
closing_price = close closing_price = close
highest_price = high
lowest_price = low
rise_losses_current_day = differrange
dong_cai_industry_index_level2 = stock_basic_map[code][2]
dong_cai_industry_index_level3 = stock_basic_map[code][3]
range_rise_losses20 = differrange20
range_rise_losses10 = differrange10
range_rise_losses60 = differrange60
initial_listing_date = stock_basic_map[code][4]
number_days_available = trade_days
volume = volumn volume = volumn
turnover = amount turnover = amount
dong_cai_industry_index_code2 = stock_basic_map[code][5] total_capitalization = mv
free_capitalization = freefloat_market_value free_capitalization = liqmv
average_volume_day20 = avg_volume20 change_percentage = differrange
total_institutional_positions = agencies_hold highest_price = high
rise_stop = islimit lowest_price = low
losses_stop = isdrop rise_number = risenum
losses_number = fallnum
flat_number = flatnum
rise_stop_number = limitupnum
losses_stop_number = limitdownnum
stop_number = suspendnum
recently_high = rcnthigh
recently_low = rcntlow
pe_ttm= pettm
pe_center_ttm = pettm_mid
# create_time = # create_time =
sql_insert = f"INSERT INTO original_issue_stock (business_date,sort,security_code,security_name,security_type,opening_price,closing_price,highest_price,lowest_price,rise_losses_current_day,dong_cai_industry_index_level2,dong_cai_industry_index_level3,range_rise_losses20,range_rise_losses10,range_rise_losses60,initial_listing_date,number_days_available,volume,turnover,dong_cai_industry_index_code2,free_capitalization,average_volume_day20,total_institutional_positions,rise_stop,losses_stop) VALUES (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" sql_insert = f"INSERT INTO dong_cai_secondary_industry (business_date,sort,security_code,security_name,security_type,number_ingredients,opening_price,closing_price,volume,turnover,total_capitalization,free_capitalization,change_percentage,highest_price,lowest_price,rise_number,losses_number,flat_number,rise_stop_number,losses_stop_number,stop_number,recently_high,recently_low,pe_ttm,pe_center_ttm rise_losses_current_day,dong_cai_industry_index_level2,dong_cai_industry_index_level3,range_rise_losses20,range_rise_losses10,range_rise_losses60,initial_listing_date,number_days_available,volume,turnover,dong_cai_industry_index_code2,free_capitalization,average_volume_day20,total_institutional_positions,rise_stop,losses_stop) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
db_b_cursor.execute(sql_insert, (business_date,sort,security_code,security_name,security_type,opening_price,closing_price,highest_price,lowest_price,rise_losses_current_day,dong_cai_industry_index_level2,dong_cai_industry_index_level3,range_rise_losses20,range_rise_losses10,range_rise_losses60,initial_listing_date,number_days_available,volume,turnover,dong_cai_industry_index_code2,free_capitalization,average_volume_day20,total_institutional_positions,rise_stop,losses_stop)) db_b_cursor.execute(sql_insert, (business_date,sort,security_code,security_name,security_type,number_ingredients,opening_price,closing_price,volume,turnover,total_capitalization,free_capitalization,change_percentage,highest_price,lowest_price,rise_number,losses_number,flat_number,rise_stop_number,losses_stop_number,stop_number,recently_high,recently_low,pe_ttm,pe_center_ttm rise_losses_current_day,dong_cai_industry_index_level2,dong_cai_industry_index_level3,range_rise_losses20,range_rise_losses10,range_rise_losses60,initial_listing_date,number_days_available,volume,turnover,dong_cai_industry_index_code2,free_capitalization,average_volume_day20,total_institutional_positions,rise_stop,losses_stop))
#提交数据到数据库B中 #提交数据到数据库B中
db_b_conn.commit() db_b_conn.commit()
print('successed transfer ',trading_date , ' data.' ) print('successed transfer ',trading_date , ' data.' )
print('\r\n') print('\r\n')
####original_issue_stock ####dong_cai_secondary_industry
# `business_date` date NOT NULL COMMENT '业务日期', # `id` bigint NOT NULL AUTO_INCREMENT,
# `sort` int(0) NULL DEFAULT NULL COMMENT '排名', # `business_date` date NOT NULL COMMENT '业务日期',
# `security_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '证券代码', # `sort` int DEFAULT NULL COMMENT '排名(序号)',
# `security_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '证券名称', # `security_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '证券代码',
# `security_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '证券类型', # `security_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '证券名称',
# `opening_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '开盘价', # `security_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '证券类型',
# `closing_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '收盘价', # `number_ingredients` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '成份个数',
# `highest_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '最高价', # `opening_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '开盘价',
# `lowest_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '最低价', # `closing_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '收盘价',
# `rise_losses_current_day` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '当日涨跌幅', # `volume` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '成交量(股)',
# `dong_cai_industry_index_level2` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '东财行业指数2级', # `turnover` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '成交额(百万元)',
# `dong_cai_industry_index_level3` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '东财行业指数3级', # `total_capitalization` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '总市值(百万元)',
# `range_rise_losses20` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日区间涨跌幅', # `free_capitalization` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '自由流通市值(百万元)',
# `range_rise_losses10` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日区间涨跌幅', # `change_percentage` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '涨跌幅(%)',
# `range_rise_losses60` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '60日区间涨跌幅', # `highest_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最高价',
# `initial_listing_date` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '首发上市日期', # `lowest_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最低价',
# `number_days_available` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '可交易日数', # `rise_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '上涨家数',
# `volume` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成交量', # `losses_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '下跌家数',
# `turnover` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成交额', # `flat_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '平盘家数',
# `dong_cai_industry_index_code2` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属东财行业指数代码[行业类别]2级', # `rise_stop_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '涨停家数',
# `free_capitalization` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自由流通市值', # `losses_stop_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '跌停家数',
# `average_volume_day20` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日区间平均成交量', # `stop_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '停牌家数',
# `total_institutional_positions` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '机构持仓合计', # `recently_high` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '近期创历史新高',
# `rise_stop` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否涨停 1-是 0-否', # `recently_low` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '近期创历史新低',
# `losses_stop` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否跌停 1-是 0-否', # `pe_ttm` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '市盈率PE(TTM)',
# `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', # `pe_center_ttm` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '市盈率PE中位值(TTM)',
# `create_time` datetime DEFAULT NULL COMMENT '创建时间',
##### #####
# print(datas) # print(datas)
# print(stock_basic_map) # print(stock_basic_map)

Loading…
Cancel
Save