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()
​

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
模式识别是指通过对数据进行分析和处理,识别出其中隐含的模式或规律。在Python中,可以使用各种机器学习和深度学习算法来实现模式识别。以下是一些常见的用于模式识别Python库和方法: 1. 使用scikit-learn库进行模式识别: scikit-learn是一个功能强大的Python机器学习库,提供了各种常用的机器学习算法和工具。可以使用scikit-learn中的分类器、聚类器和降维方法等进行模式识别。 2. 使用深度学习库TensorFlow和Keras进行模式识别: TensorFlow和Keras是两个流行的深度学习库,可以用于构建和训练各种深度神经网络模型,如卷积神经网络(CNN)和循环神经网络(RNN),来进行图像、语音、文本等领域的模式识别。 3. 利用模式识别算法进行特征提取: 模式识别中的特征提取是将原始数据转换为具有更明显模式的特征表示。可以使用一些常用的特征提取算法,如主成分分析(PCA)、线性判别分析(LDA)和局部二值模式(LBP)等来进行特征提取。 4. 使用模式识别算法进行分类和聚类: 一旦获得了特征表示,可以使用各种分类和聚类算法来对数据进行分类和聚类。常见的模式识别算法包括支持向量机(SVM)、K均值聚类和高斯混合模型等。 总结起来,Python提供了丰富的库和算法来支持模式识别任务。可以使用scikit-learn、TensorFlow和Keras等库来构建和训练模型,使用特征提取算法进行特征表示,以及使用分类和聚类算法来进行模式识别。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [基于Python实现使用百度自然语言处理的对话情绪识别](https://download.csdn.net/download/qq_20660115/88220472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [python 模式识别 贝叶斯分类器.zip](https://download.csdn.net/download/qq_45964936/60679473)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Python数据分析实战之用户模式识别](https://blog.csdn.net/duan_mo_ran/article/details/107872883)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值