python 天气与股票的关系--第3部分,建立模型

起因(目的):

继续瞎折腾。

过程:

  1. 假设有下面这些规则: 天气中的温度,
  • 如果最高温度大于 36, 那么就是坏天气。
  • 如果最低温度小于 5, 那么也是坏天气。
  • 如果下雨, 下雪, 那么也是坏天气。
  • 其他情况为 好天气
python 复制代码
import pandas as pd

def calculate_comfort(row, initial_comfort=17):
    # confy = initial_comfort
    confy = int(row['high'].replace('℃', '')) - int(row['low'].replace('℃', ''))  
    
    # 提取温度信息
    high_temp = int(row['high'].replace('℃', ''))
    low_temp = int(row['low'].replace('℃', ''))
    
    # 天气信息中的关键词
    weather_info = row['info']
    
    # 根据天气调整舒适度
    if '雨' in weather_info:
        confy -= 3
    if '雪' in weather_info:
        confy -= 5
    
    # 高温处理
    if high_temp >= 36:
        confy -= 0.1 * (high_temp - 35)
    
    # 低温处理
    if low_temp <= 5:
        confy -= 0.1 * (6 - low_temp)
    
    # 理想温度增加舒适度
    ideal_temp = 20
    if 18 <= high_temp <= 22:
        confy *= 1.8
    elif 16 <= high_temp <= 24:
        confy *= 1.3
    
    return confy
df['comfort_level'] = df.apply(calculate_comfort, axis=1)
  1. 此外, 开盘, 收盘,之间的差距, 作为一天的结果。 也是作为模型的 y!
python 复制代码
# ret --> mean       0.171798
df["ret"]  = (df["收盘"] -  df["开盘"] ) *100  # 17 
  1. 画图查看

如果只从数值的角度, 那么很难看出有什么关系!

  1. 换一种思路。 对比变换情况。
  • 今天与昨天的天气变化情况 A
  • 今天与昨天的股市变化情况 B
  • A 与 B 之间的关系!
python 复制代码
# 创建二元变量表示今天的值是否大于昨天的值
df['comfort_change'] = (df['comfort_level'] > df['comfort_level'].shift(1)).astype(int)
df['ret_change'] = (df['ret'] > df['ret'].shift(1)).astype(int)

# ret_change, 第二种思路, 根据正负值来判断!
df['ret_change2'] = (df['ret'] > 0).astype(int)  # 修改此行来适应新的规则

# 打印结果查看
df[['date', 'comfort_level', 'ret', 'comfort_change', 'ret_change', "ret_change2"]].head()

# 统计两个列中相等值的行数
equal_count = (df['comfort_change'] == df['ret_change']).sum()

输出 258, 而总共有484条数据,准确率是 258 / 484 = 0.533

结论 + todo

  1. 根据天气, 来猜测股市的涨跌, 猜对的概率为 53%
  2. 一个问题是, 由于节假日,休市, 所以日期是不连贯的。 数据中的昨天, 不一定是昨天(比如, 假设今天是周一, 那么"昨天", 不是真正的昨天, 而是上个星期的周五。) 这中间差了几天, 天气也变化了。所以有问题!

走过路过,支持一下啊。

相关推荐
零基础1239 分钟前
VoiceStudio 开源项目深度解析:特性、对比与实战测试
人工智能·经验分享·python·开源
2601_9628857213 分钟前
如何用 Python 做均线粘合选股?(多头发散前的变盘候选)
开发语言·python
zhangzeyuaaa15 分钟前
Ruby 方法参数完全指南:默认值、可变参数与关键字参数
前端·python·ruby
小小张说故事21 分钟前
pytest 写了用例却不跑、fixture 不生效、参数化全失效?9 个高频坑对照表
python
外收内放32 分钟前
08 | 优化篇③ 60 张动作立绘和 50 张特效贴图是怎么进游戏的
python·游戏·pygame
计算机毕业编程指导师1 小时前
【计算机毕设推荐】基于Hadoop+Django的LLM多维度性能评估分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·django·毕业设计·课程设计·llm性能
AC赳赳老秦1 小时前
OpenClaw 与 FineBI 联动方案:公开数据自动采集与实时业务分析看板实践
大数据·开发语言·python·php·finebi·deepseek·openclaw
计算机毕业编程指导师1 小时前
【Python毕设选题推荐】基于Hadoop+Django的奥斯卡奖获奖数据可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·毕业设计·课程设计·奥斯卡奖
风早爽太1 小时前
Python 学习笔记:数据库迁移工具 ‌Alembic
数据库·python·fastapi·alembic
外收内放1 小时前
06 | 优化篇① 游戏改名《鳞光纪》了:这次翻新,把“脸“全换了
python·游戏·pygame