网易首页 > 网易号 > 正文 申请入驻

python 量化,获取量化模型之一的线性回归——量化 05

0
分享至

获取日线历史行情,并求线性回归代码

import pandas as pd import numpy as np from scipy import stats import akshare as ak import datetime # 获取日线历史行情 def get_stock_data(symbol, table_name=None): today = datetime.date.today() end_date_str = today.strftime("%Y%m%d") start_date = (today - datetime.timedelta(days=7 * 365)).strftime("%Y%m%d") if table_name == "美股中国企业价值": symbol = "106." + symbol stock_data = ak.stock_us_hist( symbol=symbol, period="daily", start_date=start_date, end_date=end_date_str, adjust="qfq" ) elif table_name == "纳指100价值": symbol = "105." + symbol stock_data = ak.stock_us_hist( symbol=symbol, period="daily", start_date=start_date, end_date=end_date_str, adjust="qfq" ) elif table_name == "港股价值": stock_data = ak.stock_hk_hist( symbol=symbol, period="daily", start_date=start_date, end_date=end_date_str, adjust="qfq" ) elif table_name == "场内基金价值": stock_data = ak.index_zh_a_hist( symbol=symbol, period="daily", start_date=start_date, end_date=end_date_str ) else: if symbol.startswith(("1", "5")): stock_data = ak.fund_etf_hist_em( symbol=symbol, period="daily", start_date=start_date, end_date=end_date_str, adjust="qfq" ) else: stock_data = ak.stock_zh_a_hist( symbol=symbol, period="daily", start_date=start_date, end_date=end_date_str, adjust="qfq" ) return stock_data # 获取线性回归期望值和残差标准差 def linear_regression_dfcf(years_list, symbol, table_name=None): # 参数分别为代码,种类和调取数据年份列表 data = get_stock_data(symbol, table_name=None) df_list = [] for many_years in years_list: # 将调取年份列表放入循环 percent = round(len(data)/7*many_years) y = data.iloc[-percent:]["收盘"] # 调取自定义函数中的"close"列 x = np.arange(len(y)) slope, intercept, r_value, p_value, std_err = stats.linregress(x, y) expected_value = intercept + slope * len(y) # 计算期望值 residuals = y - (intercept + slope * x) # 残差 std_residuals = np.std(residuals) # 残差标准差 # 构建结果DataFrame columns=[f"expected_value_{many_years}year", f"std_residuals_{many_years}year"] result_data = [expected_value, std_residuals] # 上面数据分别表示线性回归期望值、残差标准差、斜率、截距、相关系数、P值、标准误差 result_df = pd.DataFrame(data=[result_data], columns=columns) df_list.append(result_df) result = pd.concat(df_list, axis=1) return result if __name__ == '__main__': data = linear_regression_dfcf([7, 3, 1], "000001") print(data)

代码说明

代码共有 2 个自定义函数:

  1. def get_stock_data(symbol, table_name=None):获取日线历史行情数据,可以是指数、股票和基金。参数有 2 个,分别是代码和数据来源对代码增加市场,第 2 个为非必要参数。

  2. def linear_regression_dfcf(years_list, symbol, table_name=None):获取线性回归期望值和残差标准差。参数有 3 个,分别是线性回归的年份列表、代码和数据来源对代码增加市场,第 3 个为非必要参数

需要修改的代码

调取函数,需要对代码进行相应的修改 data = linear_regression_dfcf([7, 3, 1], "000001"): 第 1 个参数为获取线性回归的年数,比如求 1 年的线性回归期望值和残差标准着,则列表为[1]。 第 2 个参数要获取线性回归的对象,可以是股票、指数和场内基金。若是港美股需要增加一个参数,比如“纳指100价值”,给代码增加市场代码“105.”

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
涌、沥、寮、圩、围、坑等各是什么?说说广东地名的命名特色

涌、沥、寮、圩、围、坑等各是什么?说说广东地名的命名特色

东江学习社
2024-05-25 00:04:26
侯佩岑转发台湾回归祖国!立场坚定获赞,周杰伦、蔡依林等人沉默

侯佩岑转发台湾回归祖国!立场坚定获赞,周杰伦、蔡依林等人沉默

萌神木木
2024-05-22 17:07:24
老年人“性生活”最晚到多大年龄?别不好意思,或许很多人想错了!

老年人“性生活”最晚到多大年龄?别不好意思,或许很多人想错了!

妈星人
2024-05-24 07:04:32
九运(2024-2043年)这5种人运气最好,一旺20年!

九运(2024-2043年)这5种人运气最好,一旺20年!

神奇故事
2024-05-23 23:48:41
美国智库警告:台海之战的规模,会庞大到让美国都“无法理解”!

美国智库警告:台海之战的规模,会庞大到让美国都“无法理解”!

小阿文热点军
2024-05-23 20:45:44
张镇麟陪挑法拉利,一支墨镜4500,辽篮库珀才是真少爷

张镇麟陪挑法拉利,一支墨镜4500,辽篮库珀才是真少爷

小豆豆赛事
2024-05-24 14:11:36
蔡英文在上海的老照片:42岁看起来像22岁,漂亮温柔,气质独特

蔡英文在上海的老照片:42岁看起来像22岁,漂亮温柔,气质独特

黄河新流域
2024-05-24 21:10:02
Shams:布朗尼收到超10支队试训邀请 但预计只拜访湖人太阳等少数

Shams:布朗尼收到超10支队试训邀请 但预计只拜访湖人太阳等少数

直播吧
2024-05-25 01:57:14
吴艳妮晒跳舞视频:随心所欲的生活,自由更胜一筹

吴艳妮晒跳舞视频:随心所欲的生活,自由更胜一筹

直播吧
2024-05-24 11:57:18
5月25日太原赛男单4强产生,周启豪对阵赵大成,梁靖崑对阵庄智渊

5月25日太原赛男单4强产生,周启豪对阵赵大成,梁靖崑对阵庄智渊

刺头体育
2024-05-25 04:46:12
5月23日,王菲,被爆出大瓜!网友惊叹:太厉害了!

5月23日,王菲,被爆出大瓜!网友惊叹:太厉害了!

八卦爱侃娱
2024-05-24 09:52:19
新疆0:4惨败后续 : 邱彪下课,李炎哲吴冠希或离队,阿布都自责落泪

新疆0:4惨败后续 : 邱彪下课,李炎哲吴冠希或离队,阿布都自责落泪

宝哥精彩赛事
2024-05-24 18:26:43
3-2绝杀!意甲前8已定,都灵末轮战亚特兰大争第9,帮罗马进欧冠

3-2绝杀!意甲前8已定,都灵末轮战亚特兰大争第9,帮罗马进欧冠

体育知多少
2024-05-24 09:44:30
“你说的和事实不符!别问事实是什么……”

“你说的和事实不符!别问事实是什么……”

槽逻辑
2024-05-23 16:58:22
CBA最不要脸的外援?总决赛得0分,却自称现在还是 MVP水准

CBA最不要脸的外援?总决赛得0分,却自称现在还是 MVP水准

弄月公子
2024-05-24 11:54:51
桥本有菜和河北彩花,你们觉得谁的腿比较美?

桥本有菜和河北彩花,你们觉得谁的腿比较美?

圈里的甜橙子
2024-05-23 21:41:09
他们不会想到几十年后的同胞会来为侵略者庆祝!

他们不会想到几十年后的同胞会来为侵略者庆祝!

吴女士
2024-05-04 12:47:19
小S终于承认无性婚姻:索吻被老公以感冒拒绝,对她彻底失去了兴趣!

小S终于承认无性婚姻:索吻被老公以感冒拒绝,对她彻底失去了兴趣!

不二大叔
2024-05-24 21:22:52
章子怡叠罗汉勾起美好回忆,年少轻狂共鸣

章子怡叠罗汉勾起美好回忆,年少轻狂共鸣

圈里的甜橙子
2024-05-24 00:40:01
碧海单价跌破4字头,刚需可以进场了吗?

碧海单价跌破4字头,刚需可以进场了吗?

农村阿祖
2024-05-24 19:12:46
2024-05-25 08:04:49
余汉波
余汉波
三人行,我们是财经的搬运工
956文章数 2515关注度
往期回顾 全部

科技要闻

对话王小川:我们不跟进大模型价格战

头条要闻

院长穿Polo衫跳舞出圈后 第一件事是去校宣传部"自首"

头条要闻

院长穿Polo衫跳舞出圈后 第一件事是去校宣传部"自首"

体育要闻

阿兰,好久不见

娱乐要闻

霍启仁求婚成功,郭晶晶要有妯娌了

财经要闻

白重恩解读中国经济的3个关键问题

汽车要闻

宝马M品牌上新 2024年在华推出近10款高性能车型

态度原创

数码
旅游
亲子
房产
健康

数码要闻

HWiNFO 发布更新,适配英特尔Battlemage、Celestial

旅游要闻

“旅游热”持续升温 ,这些关于景区的谣言别信

亲子要闻

女儿3岁了,父亲带她去打预防针,看孩子是啥反应

房产要闻

超高性价比!仁恒长天云汀价格曝光!近500套房源一次砸出!

在中国,到底哪些人在吃“伟哥”?

无障碍浏览 进入关怀版