首页 > 其他分享 >chaodiwang.py

chaodiwang.py

时间:2024-11-06 09:24:04浏览次数:4  
标签:chaodiwang df py result time date 跌停 data

桓公少与殷侯齐名,常有竞心。桓问殷:“卿何如我?”殷云:“我与我周旋久,宁作我!”

抄底王

今天闲聊,聊到股票跌停要去抄底,风浪越大鱼越贵。
剑走偏锋,是不是可以设计一个抄底选股策略,对这支股票的历史上大跌表现进行量化

代码

import datetime
import baostock as bs
import pandas as pd
import matplotlib.pyplot as plt

#获取股票数据
def get_data(ticket,start_date):
    today = datetime.datetime.now().strftime("%Y-%m-%d")
    # 登录 Baostock
    lg = bs.login()
    # 获取股票数据,
    rs = bs.query_history_k_data_plus(ticket,
        "date,code,open,high,low,close,volume",
        start_date=start_date, end_date=today,
        frequency="d", adjustflag="3")
    data_list = []
    while (rs.error_code == '0') & rs.next():
        data_list.append(rs.get_row_data())
    result = pd.DataFrame(data_list, columns=rs.fields)
    # 转换数据类型
    result['close'] = result['close'].astype(float)
    result['high'] = result['high'].astype(float)
    result['low'] = result['low'].astype(float)
    # 登出 Baostock
    bs.logout()
    #是否存储
    #result.to_csv(f"stock_data/{ticket}_{today}.csv")
    return result

#找到跌的数据,并计算一周内的表现
def cau(stock,start_date):
    #获取数据
    df = get_data(stock,start_date)
    #df['跌停'] = (df['open'] - df['close'])/df[df['open']]
    #获取涨跌幅
    df['pct_change'] = df['close'].pct_change()
    df['is_limit_down'] = (df['pct_change'] <= -0.08)
    data=[]
    for i in range(1,31):
        #{i}天后的收盘价
        df[f"close_{i}"] = df['close'].shift(-i)
        #上涨比例
        df[f'compare_{i}'] = (df[f'close_{i}']- df['close'])/df[f'close_{i}']
        result = df[df['is_limit_down'] == True]
        #result.to_csv(f"stock_result/MYresult_{stock}.csv")
        count_di = result[f'compare_{i}'].count()
        count_up = result.loc[result[f'compare_{i}'] > 0, f'compare_{i}'].count()
        up_proba=count_up/count_di
        row ={'day':i,'触底次数':count_di,'上涨次数':count_up,'上涨概率':up_proba}
        data.append(row)

    time_result=pd.DataFrame(data)
   # time_result.to_csv(f"stock_result/result_{stock}.csv")
    print(time_result)
    max_row = time_result[time_result['上涨概率'] == time_result['上涨概率'].max()]
    print("最大值: ")
    print(max_row)
    #画图
    time_result.set_index('day', inplace=True)
    plt.plot(time_result['上涨概率'])
    plt.show()

cau("sz.000158","2003-11-05")


(纯整活)

实际

实话实说,一般涨停跌停的这种极端情况,数据量化权重比较低,更多是情绪,市场因素。
通过量化得出的结论还是有点片面,如果以此为依据就有点赌徒了。
所以,想要抄底要怎么做呢?
百度了下:

判断

  • 公司利空:如果跌停是由于公司自身的重大利空消息,如业绩大幅下滑、财务造假、重大诉讼等,那么抄底需要格外谨慎。这种情况下,股票可能会继续下跌,甚至面临退市风险。
  • 市场因素:如果跌停是由于市场整体下跌、行业板块调整等外部因素引起,而公司基本面没有发生重大变化,那么抄底的可能性相对较大。可以进一步分析市场和行业的走势,判断下跌是否接近尾声。

技术分析

  • 趋势判断:观察股票的长期和短期趋势。如果股票处于长期下跌趋势中,即使出现跌停,也可能只是下跌过程中的一个节点,不宜盲目抄底。如果股票在长期上涨趋势中出现跌停,且没有破坏整体趋势,可以考虑抄底。
  • 成交量分析:跌停时的成交量也是一个重要的参考指标。如果成交量较小,说明卖压可能不大,有可能是恐慌性抛售导致的跌停。如果成交量巨大,说明市场抛售压力较大,可能需要更长时间的调整。
  • 支撑位判断:通过技术分析确定股票的重要支撑位。如果跌停价格接近或触及重要支撑位,可能会有一定的支撑作用,反弹的概率增加。

标签:chaodiwang,df,py,result,time,date,跌停,data
From: https://www.cnblogs.com/jinnandu/p/18528148

相关文章

  • 08LangChain实战课 - 输出解析器深入与Pydantic解析器实战
    LangChain实战课-输出解析器深入与Pydantic解析器实战1.课程回顾第5课中,我们学习了如何为花和价格生成吸引人的描述,并将这些描述和原因存储到CSV文件中。程序调用了OpenAI模型,并利用了结构化输出解析器以及数据处理和存储工具。2.LangChain中的输出解析器输出解析器......
  • Python酷库之旅-第三方库Pandas(192)
    目录一、用法精讲891、pandas.Index.nunique方法891-1、语法891-2、参数891-3、功能891-4、返回值891-5、说明891-6、用法891-6-1、数据准备891-6-2、代码示例891-6-3、结果输出892、pandas.Index.value_counts方法892-1、语法892-2、参数892-3、功能892-4、返......
  • 讲解Python选择语句
    Python选择语句1.`if`语句语法:示例:2.`else`语句语法:示例:3.`elif`语句语法:示例:4.嵌套选择语句示例:5.条件表达式(TernaryOperator)示例:6.布尔值与条件表达式示例:7.多重条件判断示例:8.总结与应用场景Python中的选择语句(也称为条件语句)用于根据不同的条......
  • python+flask计算机毕业设计果园管理系统(程序+开题+论文)
    文件加密系统的设计与实现tp835本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于果园管理系统的研究,现有研究多侧重于果园的生产环节管理,如自动化灌溉、病虫害监测等技术层面的应......
  • python+flask计算机毕业设计共享自习室小程序(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于共享自习室小程序的研究,现有研究多侧重于自习室的基本功能和运营模式等方面,如自习室的预约、计费等基础功能的实现。专门针对将......
  • python+flask计算机毕业设计广电集团客户管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于广电集团客户管理系统的研究,现有研究多集中于广播电视业务的传播、技术革新等方面,专门针对广电集团客户管理系统的研究较少。在客......
  • python+flask计算机毕业设计高校学生课堂考勤打卡APP的设计和实现(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于高校学生课堂考勤的研究,现有研究多集中在传统点名方式的改进以及基于单一技术的考勤系统开发。例如,有的研究专注于利用蓝牙技术实......
  • python+flask计算机毕业设计好骑行打卡园app系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容好骑行打卡园app系统毕业设计相关内容一、选题背景关于骑行打卡类APP的研究,现有研究主要以骑行记录和路线规划为主,专门针对骑行打卡园这种集打卡......
  • python+flask计算机毕业设计个人健康管理小程序(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容个人健康管理小程序毕业设计说明一、选题背景关于个人健康管理小程序的研究,现有研究主要以综合性健康管理系统为主,专门针对小程序形式的个人健康......
  • 使用Python Flask实战构建Web应用
     你是否曾想过,使用Python来快速搭建一个Web应用?Flask作为一个轻量级的Web框架,因其简单、灵活且高效,成为了很多开发者首选的工具。今天,就让我们一同走进Flask的世界,探索如何使用它轻松构建一个实战Web应用!为什么Flask是Python开发者中最受欢迎的Web框架之一?它到底有哪些独特的......