python之K线模式识别

news2024/11/17 14:29:06

1、晨星

晨星也称作早晨之星,它是一种三日形态的K线组合,第一日是阴线,第二日价格振幅较小,第三日出现阳线,它的一般形态如下图所示。晨星的K线组合形态一般出现在下跌的趋势之后,预示着价格的上升回调。其在作为交易信号使用时,通常会结合交易量的指标。

import mpl_finance as mpf
import matplotlib.pyplot as plt
import talib
import pandas as pd
​
# 读取文件
df = pd.read_csv(r'xx')
df=df[0:40]
# 识别晨星的K线组合
nums = talib.CDLMORNINGSTAR(df['open'], df['high'], df['low'], df['close'])
# 可视化
fig = plt.figure()
ax = fig.add_subplot(111)
# 绘制K线图
mpf.candlestick2_ohlc(ax, df['open'], df['high'], df['low'], df['close'], width=0.6, colorup='red', colordown='green')
# 标注识别K线组合的位置
index = nums[nums==100].index.values
for i in index:
   ax.annotate(s='', xy=(i, df['high'][i]), xytext=(i, df['high'][i]+20), arrowprops= {'arrowstyle':'->','facecolor':'black'})
plt.show()
​

2、昏星

昏星(Evening Star),也称作黄昏之星。它与晨星类似,也是一种三日的K线组合形态,第一日为阳线,第二日价格振幅较小,第三日阴线,其常见形态如下图所示。但是它的作用于晨星反向,它通常出现在一段上升趋势中,预示着顶部的价格反转。

import numpy as np
import mpl_finance as mpf
import matplotlib.pyplot as plt
import talib
import pandas as pd
​
# 读取文件
df = pd.read_csv(r'xxx')
df=df[0:1000]
# 识别昏星的K线组合
nums = talib.CDLEVENINGSTAR(df['open'], df['high'], df['low'], df['close'])
# 可视化
fig = plt.figure()
ax = fig.add_subplot(111)
# 绘制K线图
mpf.candlestick2_ohlc(ax, df['open'], df['high'], df['low'], df['close'], width=0.6, colorup='red', colordown='green')
# 标注识别K线组合的位置
index = nums[nums==-100].index.values
print(index)
for i in index:
   ax.annotate(s='', xy=(i, df['high'][i]), xytext=(i, df['high'][i]+200), arrowprops= {'arrowstyle':'->'})
plt.show()
​

3、锤子线

锤子线(Hammer)是一种单日的K线形态,因其形态类似一把锤子,所以被命名为锤子线。它通常出现于一段下跌趋势之后,通常预示着价格见底。其形态通常表现在实体较短,下影线很长,没有上影线,如下图所示。另外,当锤子线的实体颜色是红色,而且下影线越长时,更具有参考意义。

import numpy as np
import mpl_finance as mpf
import matplotlib.pyplot as plt
import pandas as pd
import talib
​
# 读取文件
df = pd.read_csv(r'xxx')
df=df[0:80]
# 识别锤子线的K线模型
nums = talib.CDLHAMMER(df['open'], df['high'], df['low'], df['close'])
# 可视化
fig = plt.figure()
ax = fig.add_subplot(111)
# 绘制K线图
mpf.candlestick2_ohlc(ax, df['open'], df['high'], df['low'], df['close'], width=0.6, colorup='red', colordown='green')
# 标注识别K线组合的位置
index = nums[nums==100].index.values
for i in index:
    ax.annotate(s='', xy=(i, df['high'][i]), xytext=(i, df['high'][i] + 50), arrowprops={'arrowstyle': '->'})
plt.show()
​

4、上吊线

上吊线(Hanging Man),也称作倒锤子线,同锤子线一样,也是一种单日的K线形态,但意义和锤子线相反。其常出现于一段上升的价格走势之后,预示着价格反转。上吊线通常为较小的实体,伴随着较长的下影线,如下图所示。实体颜色为绿色且具有越长的下影线的上吊线形态的参考意义越强。另外需要注意的是,锤子线和上吊线在使用时,不仅仅需要判断其形态的出现,还需要结合其出现在价格区间的顶端还是底端,通常锤子线出现在价格区间底端,上吊线出现在价格区间顶端。

import numpy as np
import mpl_finance as mpf
import matplotlib.pyplot as plt
import pandas as pd
import talib
​
# 读取文件
df = pd.read_csv(r'xxx')
df=df[0:150]
# 识别上吊线的K线模型
nums = talib.CDLHANGINGMAN(df['open'], df['high'], df['low'], df['close'])
# 可视化
fig = plt.figure()
ax = fig.add_subplot(111)
# 绘制K线图
mpf.candlestick2_ohlc(ax, df['open'], df['high'], df['low'], df['close'], width=0.6, colorup='red', colordown='green')
# 标注识别K线组合的位置
index = nums[nums==-100].index.values
for i in index:
    ax.annotate(s='', xy=(i, df['high'][i]), xytext=(i, df['high'][i] +40), arrowprops={'arrowstyle': '->'})
plt.show()
​

5、捉腰带线

import numpy as np
import mpl_finance as mpf
import matplotlib.pyplot as plt
import pandas as pd
import talib
​
# 读取文件
df = pd.read_csv(r'F:\BaiduNetdiskDownload\Python量化金融编程从入门到精通 赠送资源\数据\第5章\SP_Daily_2000_2017.csv')
df=df[0:50]
# 识别捉腰带线的K线模型
nums = talib.CDLBELTHOLD(df['open'], df['high'], df['low'], df['close'])
# 可视化
fig = plt.figure()
ax = fig.add_subplot(111)
# 绘制K线图
mpf.candlestick2_ohlc(ax, df['open'], df['high'], df['low'], df['close'], width=0.6, colorup='red', colordown='green')
# 标注识别K线组合的位置
index = nums[nums==100].index.values
for i in index:
    ax.annotate(s='', xy=(i, df['high'][i]), xytext=(i, df['high'][i] + 20), arrowprops={'arrowstyle': '->'})
plt.show()
​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1082521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络-HTTPS

文章目录 前言一、HTTPS简介优点SSL/TSL工作流程 加密1、对称加密2、非对称加密 二、使用HTTPS1.openSSL生成私钥(1)node服务端(2)nginx配置https服务(前端) nginx服务 总结 前言 Http 存在不安全、无状态…

校园贴吧微信小程序搭建教程

大家好啊,罗峰今天来分享一下如何搭建一个校园贴吧微信小程序。一起来看看吧。 开发流程如下: 1.小程序注册:使用微信开放平台账号登录,创建一个新的小程序,并记录下小程序的 AppID。 2.项目初始化:使用微…

上海亚商投顾:沪指冲高回落 华为概念股持续活跃

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日高开低走,创业板指冲高回落。华为产业链继续活跃,鸿蒙方向领涨,润…

Idea创建springboot工程的时候,发现pom文件没有带<parent>标签

今天创建springboot工程,加载maven的时候报错: 这个问题以前遇到过,这是因为 mysql-connector-j 没有带版本号的原因,但是springboot的依赖的版本号不是都统一交给spring-boot-starter-parent管理了吗,为什么还会报错&…

CSS-注册页面

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册页面</title><style>*{margin:0px;padding: 0px;box-sizing: border-box;}body{background: url("../image/img/register_bg.png…

OpenCV实现图像傅里叶变换

傅里叶变换 dftcv.dft(img_float32,flagscv.DFT_COMPLEX_OUTPUT): flags:标志位&#xff0c;指定变换类型&#xff0c;cv.DFT_COMPLEX_OUTPUT会返回复数结果。 傅立叶变换&#xff0c;将输入的图像从空间域转换到频率域。 返回结果: 此函数返回一个复杂数值数组&#xff0c…

多尺度retinex图像去雾算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 clc; clear; close all; warning off; addpath(genpath(pwd)); rng(default)img_in im2doub…

Android 10.0 framework层实现app默认全屏显示

1.前言 在10.0的系统开发中,在对于第三方app全屏显示的功能需求开发中,需要默认app全屏显示,针对这一个要求,就需要在系统启动app 的过程中,在绘制app阶段就设置全屏属性,接下来就实现这个功能 效果图如下: 2.framework层实现app默认全屏显示的核心类 frameworks\base\…

Webapck 解决:[webpack-cli] Error: Cannot find module ‘vue-loader/lib/plugin‘ 的问题

1、问题描述&#xff1a; 其一、报错为&#xff1a; [webpack-cli] Error: Cannot find module vue-loader/lib/plugin 中文为&#xff1a; [webpack-cli] 错误&#xff1a;找不到模块“vue-loader/lib/plugin” 其二、问题描述为&#xff1a; 在项目打包的时候 npm run …

gitbook使用

文章目录 前言一、安裝Node.js&#xff1a;二、安裝GitBook&#xff1a;編輯和創建內容&#xff1a;安装typora 前言 ubuntu20.04系统 一、安裝Node.js&#xff1a; 打開終端機&#xff08;Terminal&#xff09;。 使用以下命令來安裝Node.js和npm&#xff08;Node.js的包管…

大数据笔记-大数据处理流程

大家对大数据处理流程大体上认识差不多&#xff0c;具体做起来可能细节各不相同&#xff0c;一幅简单的大数据处理流程图如下&#xff1a; 1&#xff09;数据采集&#xff1a;数据采集是大数据处理的第一步。 数据采集面对的数据来源是多种多样的&#xff0c;包括各种传感器、社…

UGUI交互组件Slider

一.Slider对象的结构 对象介绍Slider附加Slider组件Background背景Fill Area填充范围Fill填充对象Handle Slider Area滑块移动范围Handle滑块 二.Slider组件属性 属性说明Fill Rect关联填充对象Handle Rect关联滑块对象Direction设置方向Min Value最大取值Max Value最小取值Wh…

Python高效实现网站数据挖掘

在当今互联网时代&#xff0c;SEO对于网站的成功至关重要。而Python爬虫作为一种强大的工具&#xff0c;为网站SEO带来了革命性的改变。通过利用Python爬虫&#xff0c;我们可以高效地实现网站数据挖掘和关键词分析&#xff0c;从而优化网站的SEO策略。本文将为您详细介绍如何利…

用例图 UML从入门到放弃系列之三

1.说明 关于用例图&#xff0c;这篇文章我将直接照搬罗伯特.C.马丁老爷子在《敏捷开发》一书种的第17章&#xff0c;并配上自己的理解&#xff0c;因为这一章写的实在是太精彩了&#xff0c;希望能够分享给大家&#xff0c;共勉。以下是老爷子的原文中文翻译以及豆芽的个人解读…

迁移学习--预训练微调

目录 1、迁移学习作用 2、迁移学习的途径 3、相关的领域 4、在计算机视觉中的应用 5、迁移学习的办法 预训练模型 微调 6、总结 1、迁移学习作用 定义&#xff1a;能在一个任务学习一个模型&#xff0c;然后用来解决相关的别的任务&#xff0c;这样我们在一个地方花…

鸿运主动安全云平台任意文件下载漏洞

一、漏洞描述 深圳市强鸿电子有限公司鸿运主动安全云平台存在任意文件下载漏洞&#xff0c;攻击者可通过此漏洞下载敏感文件信息&#xff0c;获取数据库账号密码&#xff0c;从而为下一步攻击做准备。 二、网络空间搜索引擎查询 fofa查询 body"./open/webApi.html"…

排序算法-插入排序法(InsertSort)

排序算法-插入排序法&#xff08;InsertSort&#xff09; 1、说明 插入排序法是将数组中的元素逐一与已排序好的数据进行比较&#xff0c;先将前两个元素排序好&#xff0c;再将第三个元素插入适当的位置&#xff0c;也就是说这三个元素仍然是已排序好的&#xff0c;接着将第…

bootz启动 Linux内核过程总结

一. bootz启动Linux uboot 启动 Linux内核使用bootz命令。当然还有其它的启动命令&#xff0c;例如&#xff0c;bootm命令等等。 前面几篇文章分析 bootz命令启动 Linux内核的过程中涉及的几个重要函数。 bootz启动 Linux内核过程中涉及的全局变量images_凌肖战的博客-CSDN博…

3d tiles规范boundingVolume属性学习

3d tiles的瓦片&#xff08;Tiles&#xff09;包含一些属性&#xff0c;其中第一项是boundingVolume&#xff1b;下面学习boundingVolume&#xff1b; boundingVolume&#xff0c;这个翻译为边界范围框&#xff0c;如果直译为边界体积可能有问题&#xff0c;其实就是包围盒的意…

Matlab提取colormap

文章目录 简介Matlab代码 简介 使用Maltab依据截取的图片信息&#xff0c;提取colormap&#xff0c;供保存使用 Matlab代码 提取函数 function colormap_outExtract_Colormap(inputfig, colormapsize)% Creat a colormap array from the input figure. % The figure is a c…