def get_code_data(code, start_date='20230101', end_date='20230201'): pro = ts.pro_api('16c7b894d325e9a3d19e679bd73b4cb027503a1d933449e663bfffc6') code_data = pro.daily(ts_code = code, start_date = start_date, end_date = end_date) feature_name = ['股票代码', '交易日期', '开盘价','最高价','最低价','收盘价', '前一日收盘价', '换手率', '涨跌幅', '交易量', '交易金额'] code_data.columns = feature_name return code_data这段代码中如何print其中的局部变量code_data
时间: 2023-05-25 07:03:50 浏览: 70
可以在函数内部添加print语句,如下:
def get_code_data(code, start_date='20230101', end_date='20230201'):
pro = ts.pro_api('16c7b894d325e9a3d19e679bd73b4cb027503a1d933449e663bfffc6')
code_data = pro.daily(ts_code = code,
start_date = start_date,
end_date = end_date)
feature_name = ['股票代码', '交易日期', '开盘价', '最高价', '最低价', '收盘价', '前一日收盘价', '换手率', '涨跌幅', '交易量', '交易金额']
code_data.columns = feature_name
print(code_data) #添加print语句
return code_data
相关问题
import tushare as ts import datetime def has_five_consecutive_rises(data): close = data['close'] if len(close) < 5 or any(close[-5:] != close.iloc[-1]): return False for i in range(1, 5): if close.iloc[-i-1] >= close.iloc[-i]: return False return True today = datetime.datetime.now().strftime('%Y-%m-%d') three_months_ago = (datetime.datetime.now() - datetime.timedelta(days=90)).strftime('%Y-%m-%d') data = ts.get_hist_data('hs300', start=three_months_ago, end=today) for code in data.index: stock_data = ts.get_hist_data(code, start=three_months_ago, end=today) if has_five_consecutive_rises(stock_data): print(code)用聚宽运行上述代码
上述代码使用了tushare包,需要在聚宽中先安装tushare包并且获取tushare的token。同时,聚宽提供的get_price函数可以获取股票历史价格数据,可以用来替代tushare包中的get_hist_data函数。下面是修改后的代码:
```
import jqdatasdk as jq
import datetime
def has_five_consecutive_rises(data):
close = data['close']
if len(close) < 5 or any(close[-5:] != close.iloc[-1]):
return False
for i in range(1, 5):
if close.iloc[-i-1] >= close.iloc[-i]:
return False
return True
jq.auth('账号', '密码')
today = datetime.datetime.now().strftime('%Y-%m-%d')
three_months_ago = (datetime.datetime.now() - datetime.timedelta(days=90)).strftime('%Y-%m-%d')
data = jq.get_price('000300.XSHG', start_date=three_months_ago, end_date=today)
for code in data.index:
stock_data = jq.get_price(code, start_date=three_months_ago, end_date=today)
if has_five_consecutive_rises(stock_data):
print(code)
```
需要注意的是,聚宽为收费平台,使用聚宽平台需要注册账号并且购买相应的服务。
import pandas as pd import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] import tushare as ts import os import tushare as ts ts.set_token('bb00bf226ce5a2f24de40a18c62596d511508ecc4b83b7c62b17b86d') pro = ts.pro_api() def get_data(code,start,end): df=pro.daily(ts_code=code,autype='qfq',start_date=start,end_date=end) print(df) df.index = pd.to_datetime(df.trade_date) #设置把日期作为索引 #df['ma'] = 0.0 # Backtrader需要用到 #df['openinterest'] = 0.0 # Backtrader需要用到 #定义两个新的列ma和openinterest df = df[['open', 'high', 'low', 'close', 'vol']] #重新设置df取值,并返回df return df def acquire_code(): #只下载一只股票数据,且只用CSV保存 未来可以有自己的数据库 inp_code =input('600893.SH') inp_start = input('2019-01-01') inp_end = input('2020-01-01') df = get_data(inp_code,inp_start,inp_end) print(df.info()) #输出统计各列的数据量 print("—"*30) #分割线 print(df.describe()) #输出常用统计参数 df.sort_index(inplace=True) #把股票数据按照时间正序排列 path = os.path.join(os.path.join(os.getcwd(), "D:\学习\AI\project\pythonProject-tushare\data"), inp_code + "yy.csv") #os.path地址拼接,''数据地址''为文件保存路径 # path = os.path.join(os.path.join(os.getcwd(),"数据地址"),inp_code+"_30M.csv") df.to_csv(path) acquire_code() 代码修正
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
import tushare as ts
import os
ts.set_token('bb00bf226ce5a2f24de40a18c62596d511508ecc4b83b7c62b17b86d')
pro = ts.pro_api()
def get_data(code,start,end):
df=pro.daily(ts_code=code,autype='qfq',start_date=start,end_date=end)
print(df)
df.index = pd.to_datetime(df.trade_date)
#设置把日期作为索引
#df['ma'] = 0.0 # Backtrader需要用到
#df['openinterest'] = 0.0 # Backtrader需要用到
#定义两个新的列ma和openinterest
df = df[['open', 'high', 'low', 'close', 'vol']]
#重新设置df取值,并返回df
return df
def acquire_code():
#只下载一只股票数据,且只用CSV保存
#未来可以有自己的数据库
inp_code =input('请输入股票代码:')
inp_start = input('请输入开始日期(如:2019-01-01):')
inp_end = input('请输入结束日期(如:2020-01-01):')
df = get_data(inp_code,inp_start,inp_end)
print(df.info())
#输出统计各列的数据量
print("-"*30)
#分割线
print(df.describe())
#输出常用统计参数
df.sort_index(inplace=True)
#把股票数据按照时间正序排列
path = os.path.join(os.path.join(os.getcwd(),"data"), inp_code + ".csv")
#os.path地址拼接,''数据地址''为文件保存路径
# path = os.path.join(os.path.join(os.getcwd(),"数据地址"),inp_code+"_30M.csv")
df.to_csv(path)
acquire_code()