python股票量化交易(8)---K线图:锤头,射击之星,早晨之星

简介: python股票量化交易(8)---K线图:锤头,射击之星,早晨之星

锤头


本篇接着上篇介绍K线形态。


首先,我们今天介绍的第一个K线形态是锤头,TA-Lib库提供给我们的方法为talib.CDLHAMMER(),它是一日K线形态,实体较短,无上影线,同时下影线大于实体长度的两倍,预示着趋势反转。


完整绘制标记锤头的代码如下:

import pandas as pd
import talib
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import mpl_finance as mpf
fig = plt.figure(figsize=(12, 8))
plt.rcParams['font.sans-serif'] = ['SimHei']
ax = fig.add_subplot(111)
df = pd.read_excel("歌尔股份year.xlsx")
df['date'] = pd.to_datetime(df['date'])
df['date'] = df['date'].apply(lambda x: x.strftime('%Y-%m-%d'))
df['hammer_head'] = talib.CDLHAMMER(df['open'].values, df['high'].values, df['low'].values, df['close'].values)
pattern = df[(df['hammer_head'] == 100) | (df['hammer_head'] == -100)]
mpf.candlestick2_ochl(ax, df["open"], df["close"], df["high"], df["low"], width=0.6, colorup='r',
                          colordown='green',
                          alpha=1.0)
for key, val in df.items():
    for index, today in pattern.iterrows():
        x_posit = df.index.get_loc(index)
        ax.annotate("{}\n{}".format("锤头", today["date"]), xy=(x_posit, today["high"]),
                    xytext=(0, pattern["close"].mean()), xycoords="data",
                    fontsize=18, textcoords="offset points", arrowprops=dict(arrowstyle="simple", color="r"))
ax.xaxis.set_major_locator(ticker.MaxNLocator(20))
def format_date(x, pos=None):
    if x < 0 or x > len(df['date']) - 1:
        return ''
    return df['date'][int(x)]
ax.xaxis.set_major_formatter(ticker.FuncFormatter(format_date))
plt.setp(plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right')
plt.show()


锤头的形态很多股票都有,你可以随便自己找股票测试,这里还是用的歌尔股份。运行之后,显示效果如下图所示:


倒锤头


既然有正锤头,那么肯定也有倒锤头,TA-Lib库提供给我们的方法为talib.CDLINVERTEDHAMMER(),它也是一日K线,定义为上影线较长,长度为实体的2倍以上,无下影线,在下跌趋势底部,预示着趋势反转。


既然上面完整代码都有,这里同上一篇博文一样,只需要更换二行代码:

df['Inverted_hammer_head'] = talib.CDLHAMMER(df['open'].values, df['high'].values, df['low'].values, df['close'].values)
pattern = df[(df['Inverted_hammer_head'] == 100) | (df['Inverted_hammer_head'] == -100)]


同时还要更改文字标识“锤头”为“倒锤头”,运行之后效果如下图所示:


射击之星


射击之星是一日K线模式,定义为上影线至少为实体长度的2倍,同时没有下影线,预示着股票下跌。TA-Lib库提供给我们的方法为talib.CDLSHOOTINGSTAR()。


同样的,射击之星的代码也只需要更换2行:

df['shoot_star'] = talib.CDLSHOOTINGSTAR(df['open'].values, df['high'].values, df['low'].values, df['close'].values)
pattern = df[(df['shoot_star'] == 100) | (df['shoot_star'] == -100)]


运行之后,显示的效果如下图所示:


早晨之星


早晨之星为三日K线模式,定义为下跌趋势,第一日为阴线,第二日价格振幅较小,第三天阳线,预示着底部可能会有反转。TA-Lib库提供给我们的方法为talib.CDLMORNINGSTAR()。


同样的,早晨之星的代码也只需要更换2行:

df['morning_star'] = talib.CDLMORNINGSTAR(df['open'].values, df['high'].values, df['low'].values, df['close'].values)
pattern = df[(df['morning_star'] == 100) | (df['morning_star'] == -100)]


运行之后,显示的效果如下图所示:

当然,对于K线图的指标其实还有很多,比如上吊线方法CDLHANGINGMAN、倒T十字CDLGRAVESTONEDOJI、向上/下跳空并列阳线CDLGAPSIDESIDEWHITE等,使用方式与这2篇博文完全一样、只是替换了方法。所以,为了不讲解毫无营养的股票量化交易,其他的指标博主这里省略了,具体你需要哪个指标,自己查询开发文档直接按这2篇调用即可。

相关文章
|
5月前
|
数据采集 Web App开发 数据可视化
Python零基础爬取东方财富网股票行情数据指南
东方财富网数据稳定、反爬宽松,适合爬虫入门。本文详解使用Python抓取股票行情数据,涵盖请求发送、HTML解析、动态加载处理、代理IP切换及数据可视化,助你快速掌握金融数据爬取技能。
2858 1
|
10月前
|
数据可视化 数据挖掘 数据安全/隐私保护
Python实现时间序列动量策略:波动率标准化让量化交易收益更平稳
时间序列动量策略(TSMOM)是一种基于资产价格趋势的量化交易方法,通过建立多头或空头头寸捕捉市场惯性。然而,传统TSMOM策略因风险敞口不稳定而面临收益波动问题。波动率调整技术通过动态调节头寸规模,维持恒定风险水平,优化了策略表现。本文系统分析了波动率调整TSMOM的原理、实施步骤及优势,强调其在现代量化投资中的重要地位,并探讨关键参数设定与实际应用考量,为投资者提供更平稳的风险管理体验。
512 4
Python实现时间序列动量策略:波动率标准化让量化交易收益更平稳
|
存储 数据采集 数据库
Python爬虫实战:股票分时数据抓取与存储
Python爬虫实战:股票分时数据抓取与存储
|
数据采集 人工智能 自然语言处理
AI Agent 金融助理0-1 Tutorial 利用Python实时查询股票API的FinanceAgent框架构建股票(美股/A股/港股) AI Finance Agent
金融领域Finance AI Agents方面的工作,发现很多行业需求和用户输入的 query都是和查询股价/行情/指数/财报汇总/金融理财建议相关。如果需要准确的 金融实时数据就不能只依赖LLM 来生成了。常规的方案包括 RAG (包括调用API )再把对应数据和prompt 一起拼接送给大模型来做文本生成。稳定的一些商业机构的金融数据API基本都是收费的,如果是以科研和demo性质有一些开放爬虫API可以使用。这里主要介绍一下 FinanceAgent,github地址 https://github.com/AI-Hub-Admin/FinanceAgent
|
机器学习/深度学习 数据采集 自然语言处理
基于Python thinker GUI界面的股票评论数据及投资者情绪分析设计与实现
本文介绍了一个基于Python Tkinter库开发的GUI股票评论数据及投资者情绪分析系统,该系统提供股票数据展示、情绪与股价分析、模型指标分析、评论数据展示、词云分析和情感分析结果展示等功能,帮助投资者通过情感分析了解市场舆论对股票价格的影响,以辅助投资决策。
715 0
基于Python thinker GUI界面的股票评论数据及投资者情绪分析设计与实现
|
数据挖掘 Python
用python的tushare模块分析股票案例(python3经典编程案例)
该文章提供了使用Python的tushare模块分析股票数据的案例,展示了如何获取股票数据以及进行基本的数据分析。
1091 0
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能股票交易策略
使用Python实现智能股票交易策略
627 0
|
6月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
656 102
|
6月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
405 104

推荐镜像

更多