# 导入所需库和模块:
import torch
import torch.nn as nn
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
import warnings
import tushare as ts
warnings.filterwarnings('ignore')
from torch.optim import Adam, SGD
from sklearn.preprocessing import MinMaxScaler, StandardScaler
from sklearn.model_selection import GridSearchCV, TimeSeriesSplit, ParameterGrid
from torch.utils.data import DataLoader, TensorDataset
from sklearn.metrics import mean_squared_error, r2_score, make_scorer
from tensorflow.keras.models import Sequential, Model, load_model
from tensorflow.keras.layers import Dense, Dropout, LSTM
from keras.wrappers.scikit_learn import KerasRegressor
from keras import backend
# 上述导包可以忽略,下面的代码才是重点
'''
!pip install scikit-learn
!pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 -f https://download.pytorch.org/whl/cu111/torch_stable.html
'''
# 初始化pro接口
pro = ts.pro_api('mycode')
# train_df_csv = pro.daily(ts_code='000001.SZ', start_date='20000101', end_date='20230421')
stock_list = pro.stock_basic(exchange='SSE', list_status='L', fields='ts_code')[:1000]
stock_codes = ','.join(stock_list['ts_code'].values)
train_df_csv = pro.daily(ts_code=stock_codes, start_date='20000101', end_date='20230421')
display(train_df_csv)
stock_list = pro.stock_basic(exchange='SSE', list_status='L', fields='ts_code')
stock_codes = stock_list['ts_code'][:1000] # 不能一次性调用太多股票,可以尝试拉到本地做进一步完善
# Get daily trading data for stocks
train_df = pro.daily(ts_code=','.join(stock_codes), start_date='20000101', end_date='20230421')
# Get PE ratio data for stocks
pe_data = pro.query('daily_basic', ts_code=','.join(stock_codes), start_date='20000101', end_date='20230421', fields='ts_code,trade_date,pe')
# Get turnover rate data for stocks
turnover_data = pro.query('daily_basic', ts_code=','.join(stock_codes), start_date='20000101', end_date='20230421', fields='ts_code,trade_date,turnover_rate')
# Merge PE ratio data into train_df
train_df = pd.merge(train_df, pe_data, on=['ts_code', 'trade_date'], how='left')
# Merge turnover rate data into train_df
train_df = pd.merge(train_df, turnover_data, on=['ts_code', 'trade_date'], how='left')
display(train_df)
01_股票数据采集_tushare采集数据,添加市盈率,换手率等数据到日线行情数据中
于 2023-05-18 14:55:27 首次发布