当前位置: 首页 > wzjs >正文

网站主持人制作东莞服务36招

网站主持人制作,东莞服务36招,甘孜建设网站首页,wordpress做知识管理系统通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…

通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务

用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输出准确率

代码

import os
import sys
import pandas as pd
import akshare as ak
# try:
#     import akshare as ak
# except ImportError:
#     print("请先运行: pip install akshare")
#     sys.exit(1)def fetch_stock_data(stock_code="000001", start_date="20150101", end_date=None):"""获取股票历史行情数据,兼容不同akshare接口"""print(f"DEBUG: akshare version: {ak.__version__}")print(f"DEBUG: fetch_stock_data params: symbol={stock_code}, start_date={start_date}, end_date={end_date}")try:# 优先尝试 stock_zh_a_dailydf = ak.stock_zh_a_daily(symbol=stock_code, adjust="qfq")print("DEBUG: 使用 ak.stock_zh_a_daily 成功")print("DEBUG: Columns before rename:", df.columns.tolist())print("DEBUG: Head before rename:\n", df.head())# 若有 start_date/end_date,筛选if "date" in df.columns:df["date"] = pd.to_datetime(df["date"])if start_date:df = df[df["date"] >= pd.to_datetime(start_date)]if end_date:df = df[df["date"] <= pd.to_datetime(end_date)]df = df.sort_values("date").reset_index(drop=True)except Exception as e:print("ERROR: ak.stock_zh_a_daily() 调用异常,尝试 fallback 原接口")print(f"Exception: {e}")try:df = ak.stock_zh_a_hist(symbol=stock_code, period="daily", start_date=start_date, end_date=end_date, adjust="qfq")print("DEBUG: 使用 ak.stock_zh_a_hist 成功")print("DEBUG: Columns before rename:", df.columns.tolist())print("DEBUG: Head before rename:\n", df.head())except Exception as e2:print("ERROR: Exception occurred while fetching stock data by both interfaces!")print(f"Exception: {e2}")return pd.DataFrame()if df.empty:print("ERROR: Fetched DataFrame is empty! Check stock code, date range, or network/API issues.")return df# 兼容列名rename_map = {"日期": "date","开盘": "open","收盘": "close","最高": "high","最低": "low","成交量": "volume","成交额": "amount","振幅": "amplitude","涨跌幅": "pct_chg","涨跌额": "chg","换手率": "turnover"}for k in list(rename_map.keys()):if k not in df.columns:rename_map.pop(k)df = df.rename(columns=rename_map)if "date" in df.columns:df["date"] = pd.to_datetime(df["date"])df = df.sort_values("date").reset_index(drop=True)# 自动补充pct_chg列(涨跌幅),百分比格式if "pct_chg" not in df.columns and "close" in df.columns:df["pct_chg"] = df["close"].pct_change() * 100return dfdef create_features_and_labels(df, n_past=5, n_future=3):"""构造特征和标签,标签为未来3日涨跌(1=涨,0=跌/平)"""feats = []labels = []for idx in range(n_past, len(df) - n_future):past_slice = df.iloc[idx-n_past:idx]# 特征: 过去n_past日的收盘价、涨跌幅、成交量feature = []feature += list(past_slice["close"].values)feature += list(past_slice["pct_chg"].values)feature += list(past_slice["volume"].values)# 未来n_future日的收盘价均值future_close_mean = df.iloc[idx:idx+n_future]["close"].mean()curr_close = df.iloc[idx-1]["close"]# 涨跌标签: 未来3日均值 > 当前收盘价 => 1,否则0label = 1 if future_close_mean > curr_close else 0feats.append(feature)labels.append(label)feats_df = pd.DataFrame(feats, columns=[f"close_t-{i}" for i in range(n_past,0,-1)] + [f"pct_chg_t-{i}" for i in range(n_past,0,-1)] + [f"volume_t-{i}" for i in range(n_past,0,-1)])feats_df["label"] = labelsreturn feats_dfdef save_for_tabpfn(df, out_csv):"""保存为TabPFN模型可读取的csv格式"""df.to_csv(out_csv, index=False)print(f"已保存至: {out_csv}")print(df.head())def main():# 拉取A股代码表,打印前10条,辅助判断symbol格式print("尝试拉取A股代码表,辅助symbol格式判断...")try:code_df = ak.stock_info_a_code_name()print("A股代码表前10条:")print(code_df.head(10))print("平安银行相关行:")print(code_df[code_df["code"].str.contains("000001")])except Exception as e:print(f"拉取A股代码表失败: {e}")stock_code = "sz000001"  # 平安银行start_date = "20150101"print("正在获取股票数据...")df = fetch_stock_data(stock_code, start_date)print("正在生成特征与标签...")processed = create_features_and_labels(df, n_past=5, n_future=3)# out_csv = os.path.join(os.path.dirname(__file__), f"{stock_code}_tabpfn.csv")out_csv =  f"{stock_code}_tabpfn.csv"print("正在保存为TabPFN格式...")save_for_tabpfn(processed, out_csv)print("预处理完成。")if __name__ == "__main__":main()

预测

import os
# 临时绕过 /dev/null 权限问题
os.devnull = "/tmp/null"
if not os.path.exists("/tmp/null"):with open("/tmp/null", "w") as f:passimport sys
import numpy as np
import pandas as pd# 自动安装tabpfn(如未安装)
try:from tabpfn import TabPFNClassifier
except ImportError:import subprocesssubprocess.check_call([sys.executable, "-m", "pip", "install", "tabpfn"])from tabpfn import TabPFNClassifier# 读取数据
# DATA_PATH = os.path.join(os.path.dirname(__file__), "sz000001_tabpfn.csv")
DATA_PATH = "sz000001_tabpfn.csv"
data = pd.read_csv(DATA_PATH, header=None)
X = data.iloc[:, :-1].values
y = data.iloc[:, -1].values# 按时间顺序划分(前80%训练,后20%测试)
split_idx = int(0.8 * len(X))
X_train, X_test = X[:split_idx], X[split_idx:]
y_train, y_test = y[:split_idx], y[split_idx:]# TabPFN训练与预测
# clf = TabPFNClassifier(device='cpu')
clf = TabPFNClassifier(device='cuda')
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
accuracy = np.mean(y_pred == y_test)print(f"Test Accuracy: {accuracy:.4f}")

最后生成的准确率:

Test Accuracy: 0.4812

这个准确率低于50%,反而可能证明程序是对的。


文章转载自:

http://7CVxcE8S.bwkhp.cn
http://Q27iDSpI.bwkhp.cn
http://pcXACdHY.bwkhp.cn
http://737jqLTp.bwkhp.cn
http://Bbnoql5w.bwkhp.cn
http://H0aV89Ed.bwkhp.cn
http://OlgBs6kW.bwkhp.cn
http://hbnEJr2B.bwkhp.cn
http://H9gMknSK.bwkhp.cn
http://2XRkuXUh.bwkhp.cn
http://Zb9tBnp4.bwkhp.cn
http://Y6GjyKmu.bwkhp.cn
http://qgYs8BiO.bwkhp.cn
http://oQJegyDP.bwkhp.cn
http://rLYwpIaW.bwkhp.cn
http://vyarkQH1.bwkhp.cn
http://aBkX0b9g.bwkhp.cn
http://CqQVJOzb.bwkhp.cn
http://xsAquyiU.bwkhp.cn
http://mYrQPs9L.bwkhp.cn
http://XP1OlzuN.bwkhp.cn
http://mb309JlE.bwkhp.cn
http://nsa4lpPw.bwkhp.cn
http://1tqqjaJO.bwkhp.cn
http://tMkolW86.bwkhp.cn
http://9StvhfuN.bwkhp.cn
http://uPj8LKjf.bwkhp.cn
http://4hxDa6WO.bwkhp.cn
http://quwvs4wz.bwkhp.cn
http://844moXCx.bwkhp.cn
http://www.dtcms.com/wzjs/619116.html

相关文章:

  • 自己做的网站怎么设置关键词郑州seo技术服务
  • 图门市建设局网站wordpress多租户
  • 做旅游网站的数据怎么来百度秒收录
  • 定远建设小学投诉网站商标设计免费
  • 简单网站建设流程图网站开发没有完成 需要赔偿多少
  • 中国摄影师个人网站设计设计网站策划书
  • 所有代刷平台推广重庆seo俱乐部联系方式
  • dede网站logo怎么改汉川市建设局网站
  • 做网站背景图片要多大网站优化代码
  • 密云微网站建设seo技术专员招聘
  • 深圳市官网网站建设有了网站怎样做公众号
  • 网站开发要用多少钱装修网十大平台
  • 唐山网站建设400多少钱高端网站设计制
  • 还能用的wap网站单页网站制作 在线 支付
  • python 做网站速度开网站的宣传图片怎么做
  • 牡丹江商城网站建设wordpress要发表评论您必须先登录
  • 最经典的营销案例seo 能提高网站速度吗
  • 涪陵网站建设 优帮云茂名网站建设电话
  • 做的比较好的游戏网站网站性能容量的收集与分析怎么做
  • 什么网站可以做外贸做网站接口多少钱
  • 桥梁毕业设计代做网站全国网站制作前十名
  • 网站建设公司小江广告位网站建设
  • 用网站模板做网站用ps软件做ppt模板下载网站
  • 咨询聊城网站建设wordpress网站首页链接乱码
  • wordpress全站注明优帮云排名自动扣费
  • 公司网站建设方案模板学校网站建设规划书
  • 网站开发主管工作内容英文版网站建设策划方案
  • 鹤壁建设网站推广公司电话app建设网站公司
  • 视频网站建站费用政务网站网上调查怎么做
  • 嘉兴做网站游戏自助充值网站怎么做