Python 金融量化 道路突破策略(唐奇安道路突破策略&布林带通道及其市场风险)

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

token = ‘Your token’ # 输入你的接口密匙,获取方式及相关权限见Tushare官网。

pro = ts.pro_api(token)

df = pro.daily(ts_code=‘603993.SH’) # daily为tushare的股票数据接口。

将获取到的DataFrame数据进行标准化处理,转换为方便自己使用的一种规范格式。

df = df.loc[:, [‘trade_date’, ‘open’, ‘high’, ‘low’, ‘close’, ‘vol’]]

df.rename(

columns={

‘trade_date’: ‘Date’, ‘open’: ‘Open’,

‘high’: ‘High’, ‘low’: ‘Low’,

‘close’: ‘Close’, ‘vol’: ‘Volume’},

inplace=True) # 重定义列名,方便统一规范操作。

df[‘Date’] = pd.to_datetime(df[‘Date’]) # 转换日期列的格式,便于作图

df.set_index([‘Date’], inplace=True) # 将日期列作为行索引

df = df.sort_index() # 倒序,因为Tushare的数据是最近的交易日数据显示在DataFrame上方,倒序后方能保证作图时X轴从左到右时间序列递增。


1.通道突破简介

==============================================================================

股市行情充满随机性,往往是“横看成岭侧成峰,远近高低各不同”。一次上涨或下跌是短期的波动,还是已经到来的大势,很难判断。通道模型适度地解决了这一难题,它利用过去的价格信息,绘制出了上下两条通道线(上轨,下轨),以此设定股价的相对高低界限。通道线可以包容市场波动行情的部分信息,过滤震荡行情中均线系统“假”突破信号。通道线除了涵盖市场价格高低信息以外,两条通道线的距离也体现了股票价格的震荡幅度。当价格波动幅度较小时,通道的宽度较小,当价格震荡较大时,通道线的宽度也相应变大。通道突破模型将价格高低价格震荡幅度融合在一起,成为判断市场中长期趋势的常用技术分析指标。


2.唐奇安通道(Donchian Channel)

===============================================================================================

唐奇安通道流行于上世纪七十年代,由著名海龟交易员Richard Donchian发明,最早用于日内交易,其主要思想是寻找一定时间内(如20日)出现的最高价和最低价,将最高价和最低价分布作为通道的上下轨道,当价格突破上轨道时,说明股价运动较强势,释放出买入信号;当价格线向下突破下轨道的时候,空方市场较为强势,市场下跌趋势较为明显,则释放出卖出信号。


2.1 唐奇安通道刻画


唐奇安通道由三条轨道线构成:

  • 通道上界 = 过去20日内的最高价

  • 通道下界 = 过去20日内的最低价

  • 中轨道 = 通 道 上 界 + 通 道 下 界 2 \displaystyle {\frac{通道上界 + 通道下界}{2} } 2通道上界+通道下界​

绘图代码示例:

提取收盘价,最高价,最低价数据

Close = df.Close

唐奇安通道布林通道都是常用的技术分析指标,用于判断股票价格的趋势和波动情况。下面是对唐奇安通道布林通道的介绍和Python代码实现: 1. 唐奇安通道 唐奇安通道是由三条轨道线构成的,分别是通道上界、通道下界和中轨道。其中,通道上界等于过去20日内的最高价,通道下界等于过去20日内的最低价,中轨道等于通道上界和通道下界的平均值。唐奇安通道突破是指股票价格突破通道上界或通道下界,这通常被视为一个买入或卖出信号。 2. 布林通道 布林通道也是由三条轨道线构成的,分别是通道上界、通道下界和中轨道。其中,通道上界等于中轨道加上两倍的标准差,通道下界等于中轨道减去两倍的标准差,中轨道等于股票价格的移动平均线。布林通道突破是指股票价格突破通道上界或通道下界,这通常被视为一个买入或卖出信号。 下面是Python代码实现唐奇安通道布林通道: ```python import pandas as pd import numpy as np import matplotlib.pyplot as plt # 计算唐奇安通道 def donchian_channel(high, low, window=20): channel_up = high.rolling(window=window).max() channel_down = low.rolling(window=window).min() channel_mid = (channel_up + channel_down) / 2 return channel_up, channel_down, channel_mid # 计算布林通道 def bollinger_band(close, window=20, k=2): std = close.rolling(window=window).std() band_up = close.rolling(window=window).mean() + k * std band_down = close.rolling(window=window).mean() - k * std band_mid = close.rolling(window=window).mean() return band_up, band_down, band_mid # 读取股票数据 df = pd.read_csv('stock.csv', index_col='date', parse_dates=True) # 计算唐奇安通道布林通道 channel_up, channel_down, channel_mid = donchian_channel(df['high'], df['low']) band_up, band_down, band_mid = bollinger_band(df['close']) # 绘制K线图和唐奇安通道布林通道 fig, ax = plt.subplots(figsize=(16, 8)) ax.set_title('Stock Price') ax.set_ylabel('Price') ax.grid(True) candlestick_ohlc(ax, zip(mdates.date2num(df.index.to_pydatetime()), df['open'], df['high'], df['low'], df['close']), width=0.6, colorup='red', colordown='green') ax.plot(df.index, channel_up, label='Donchian Channel Up', color='blue') ax.plot(df.index, channel_down, label='Donchian Channel Down', color='blue') ax.plot(df.index, band_up, label='Bollinger Band Up', color='orange') ax.plot(df.index, band_down, label='Bollinger Band Down', color='orange') ax.legend(loc='upper left') plt.show() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值