python之K线模式识别

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.mzph.cn/news/101692.shtml

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

相关文章

matlab 2ask 4ask 信号调制

1 matlab 2ask close all clear all clcL =1000;Rb=2822400;%码元速率 Fs =Rb*8; Fc=Rb*30;%载波频率 Ld =L*Fs/Rb;%产生载波信号 t =0:1/Fs:L/Rb;carrier&

Java架构师缓存架构设计

目录 1 导学2 高性能概述2.1 高性能的定义和衡量指标2.2 如何实现高性能的计算机系统或软件程序2.3 木桶理论2.4 如何实现计算机系统或软件程序的高性能3 多级缓存设计3.1 浏览器缓存3.2 CDN缓存3.3 负载均衡的缓存3.4 进程内缓存3.5 分布式缓存4 缓存技术方案5 如何进行缓存拆…

C++学习day5

目录 作业&#xff1a; 1> 思维导图 2> 多继承代码实现沙发床 1>思维导图 2> 多继承代码实现沙发床 #include <iostream>using namespace std; //创建沙发类 class sofa { private:string sitting; public:sofa(){cout << "sofa的无参构造函数…

luffy项目之后台项目搭建、目录调整、封装日志、全局异常、Response、数据库连接

luffy后台项目创建 在虚拟环境中创建luffy项目安装django&#xff1a;pip install django3.1.12命令创建项目django-admin startproject luffy_api也可以pycharm创建项目&#xff0c;创建项目时选则已经创建好的虚拟环境即可 luffy项目目录调整 """ ├── …

Docker系列--网络的配置

原文网址&#xff1a;Docker系列--网络的配置_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Docker的网络的配置。 官网网址 https://docs.docker.com/engine/reference/commandline/network/ 网络的默认设置 Docker启动之后&#xff0c;系统中会产生一个名为docker0的…

如何调整 Kubernetes StatefulSet 卷的大小

Kubernetes StatefulSet用于在集群内部署有状态应用程序。StatefulSet 中的每个 Pod 都可以访问即使在重新调度后仍坚持使用的本地持久卷。这使得 Pod 能够维护与其集合中的邻居不同的单独状态。 不幸的是,这些卷有一个很大的限制:Kubernetes 没有提供从 StatefulSet 对象调整…

【AI】Interesting Applications

文章目录 【盘古】【嗜睡检测】【3D AI 生成】多模态——指哪打哪【AlphaDev&#xff1a;汇编版 AlphaZero】【ChatExcel】 【盘古】 2023年7月&#xff0c;华为正式发布盘古大模型3.0&#xff0c;并提出3层模型架构。 L0&#xff1a;基础大模型&#xff0c;包括自然语言、视觉…

塑胶材料检测对激光焊机的作用

塑胶材料的激光焊接已经普遍用于各种零配件&#xff0c;而塑料的透光率是焊接工艺质量的一个重要指标。针对这类塑胶材料推出这款专门检测塑胶材料近红外透光率特性的透光率检测仪&#xff0c;对注塑件的透光率进行全画面扫描。 全球工业致力于贯彻绿色环保、节能减排发展理念&…

Selenium+Pytest自动化测试框架

前言 selenium自动化 pytest测试框架 本章你需要 一定的python基础——至少明白类与对象&#xff0c;封装继承 一定的selenium基础——本篇不讲selenium&#xff0c;不会的可以自己去看selenium中文翻译网 测试框架简介 测试框架有什么优点呢&#xff1a; 代码复用率高&…

CocosCreator 面试题(八)Cocos Creator 中如何做资源管理

在 Cocos Creator 中&#xff0c;可以采取以下方法来进行良好的资源管理&#xff1a; 加载远程资源 使用 Cocos Creator 提供的 cc.assetManager.loadRemote 方法加载远程服务器上的资源。 cc.assetManager.loadRemote(http://example.com/images/image.png, (err, texture) &g…

Shell 脚本面试指南

包含 20 多个中级到高级 Linux shell 脚本面试问题的主题&#xff0c;并附有示例和答案&#xff1a; 1、问题&#xff1a;shell 脚本开头的 “#!” 的用途是什么&#xff1f;举个例子。 答案&#xff1a;是shebang 指定脚本的解释器。 示例&#xff1a;#!/bin/bash 表示脚本正…

16+sci,多重免疫组织化学+CIBERSORTx 鉴定成纤维细胞亚群。

今天给同学们分享一篇单细胞多重免疫组织化学数字细胞学&#xff08;CIBERSORTx&#xff09;的生信文章“Single-cell analysis reveals prognostic fibroblast subpopulations linked to molecular and immunological subtypes of lung cancer”&#xff0c;这篇文章于2023年1…

springboot就业信息管理系统springboot32

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…

nodejs+vue宠物店管理系统

例如&#xff1a;如何在工作琐碎,记录繁多的情况下将宠物店管理的当前情况反应给管理员决策,等等。在此情况下开发一款宠物店管理系统小程序&#xff0c; 困扰管理层的许多问题当中,宠物店管理也是不敢忽视的一块。但是管理好宠物店又面临很多麻烦需要解决,于是乎变得非常合乎时…

STM32使用ThreadX示例以及tx_thread_create解析

示例代码 以下是一些基本示例代码&#xff0c;用于STM32F4 Discovery板和ThreadX库。 #include "stm32f4xx.h" #include "tx_api.h"/* 定义任务堆栈大小 */ #define TASK_STACK_SIZE 1024/* 定义任务优先级 */ #define TASK_PRI 16/* 定义两个任务的ID *…

mysql报SQLSTATE[22007]的错误的一个原因

最近在修改一个程序&#xff0c;打算将$video这个参数保存到数据库。修改的过程中出现错误。导致该程序不能发布新文章。在程序的一个db.php程序文件里使用var_dump($input); 和var_dump($stmt); 语句看到里错误信息&#xff0c;并找到里错误原因。信息里包含的错误代码是&…

java如何初始化数组(如:int[]、byte[]等)

Java语言中数组必须先初始化&#xff0c;然后才可以使用。所谓初始化就是为数组的数组元素分配内存空间&#xff0c;并为每个数组元素附初始值。 注意&#xff1a;数组完成初始化后&#xff0c;内存空间中针对该数组的各个元素就有个一个默认值&#xff1a; 基本数据类型的整数…

conda: error: argument COMMAND: invalid choice: ‘activate‘

参考:https://github.com/conda/conda/issues/13022 输入后重启terminal即可

根据客户端设备更改 SAP GUI 布局

了解如何根据所使用的设备在客户端系统上显示图像。在这里&#xff0c;我们使用 _clientedition 系统变量来获取有关客户端系统的设备类型、平台类型和许可证类型的信息。我们将引导您完成以下步骤。 1.删除映像容器。 //删除屏幕上的图像容器 del("X[IMAGE_CONTAINER]&…

pytorch Nvidia 数据预处理加速

目录 安装 不支持Windows&#xff1a; 官方说明&#xff1a; 预处理加速&#xff1a; 学习笔记&#xff1a; 参考&#xff1a; 深度学习预处理工具---DALI详解_nvidia.dali.fn_扫地的小何尚的博客-CSDN博客 安装 不支持Windows&#xff1a; 官方说明&#xff1a; Insta…