python股票数据接口实战:根据不同均线的关系判断买卖点
同是5日线,但因为计算公式不一样,这两条线不可能完全重合,而我们恰好可以利用这两条均线的不同含义,来找到合适的买卖点!
这次用到的均线分别是WMA(加权移动均线),DEMA(双指数移动均线),KAMA(库夫曼自适应移动均线),TEMA(三指数移动均线),周期均为5日。
值得一提的是,很多人会说,你还记得编代码干嘛,同花顺里不是都有吗。其实呢,同花顺里的均线,是最简单的SMA,就是算术平均的均线。
好了,直接上代码。
import pandas as pd
import tushare as ts
import talib as tl
from talib import abstract
import mplfinance as mpf
ts.set_token("你的token")
pro=ts.pro_api()
class WMA_DEMA():
def __init__(self):
# self.dailys_of_stocks()
# self.wma_dema()
self.charts()
# 获取股票的日线行情
def dailys_of_stocks(self):
stocks=['300999.SZ',
'002415.SZ',
'601766.SH',
'000100.SZ',
'300059.SZ',
"601238.SH"]
file_names=[]
for i in stocks:
df=pro.daily(ts_code=i,
start_date='20201101',
fields='trade_date,open,high,low,close,vol')
df.index=pd.to_datetime(df["trade_date"])
df.drop(columns=["trade_date"],inplace=True)
# tushare给的数据是从最近排到最远的,
# 而我们的股票都是从最远开始排到后面的,
# 所以我们要让它按日期重新排序
df.sort_index(inplace=True)
file_name="daily_%s.csv" % i
file_names.append(file_name)
df.to_csv(file_name)
return file_names
# 求不同的均线
def wma_dema(self):
file_names=self.dailys_of_stocks()
for i in file_names:
df=pd.read_csv(i)
wma=abstract.Function('wma')
wma_5=wma(df,timeperiod=5,price='close')
dema=abstract.Function('dema')
dema_5=dema(df,timeperiod=5,price='close')
kama=abstract.Function('kama')
kama_5=kama(df,timeperiod=5,price='close')
tema=abstract.Function('tema')
tema_5=tema(df,timeperiod=5,price='close')
df["wma_5"]=wma_5
df["dema_5"] = dema_5
df["kama_5"] = kama_5
df["tema_5"] = tema_5
df.index=pd.to_datetime(df["trade_date"])
df.drop(columns=["trade_date"], inplace=True)
df.to_csv(i)
return file_names
def charts(self):
file_names=self.wma_dema()
# k线图整体设置
my_color=mpf.make_marketcolors(up="red",down="green",volume='blue',inherit=True)
my_style=mpf.make_mpf_style(
facecolor="white",
marketcolors=my_color,
gridaxis='horizontal',
gridcolor='gray',
gridstyle="--",
y_on_right=False
)
for i in file_names:
# index_col="trade_date"一定要加上。
# 我也是很无语,之前保存成csv的时候明明设了index为日期,
# 可是读取csv之后发现居然没index了!!!
df=pd.read_csv(i,index_col="trade_date")
# 因为mpf是个很教条的包,
# 传给他的数组的列顺序都必须是open,close,high,low,volume,
# 不能乱,不然就会错,所以这里要给数组的列重新排列,
# 而且index必须是时间序列
df_new=pd.DataFrame(
{"Open":df["open"],
"Close":df["close"],
"High": df["high"],
"Low":df["low"],
"Volume":df["vol"]
},index=pd.to_datetime(df.index))
add_plot=[
mpf.make_addplot(df["wma_5"],color="yellow",width=1.5),
mpf.make_addplot(df["dema_5"], color="cyan",width=1.5),
mpf.make_addplot(df["kama_5"], color="blue",width=1.5),
mpf.make_addplot(df["tema_5"], color="purple", width=1.5)
]
mpf.plot(df_new,
addplot=add_plot,
type="candle",
style=my_style,
figratio=(5,3),
figscale=3,
volume=True,
title=i[6:12],
)
if __name__ == '__main__':
WMA_DEMA()
python股票数据接口实战:根据不同均线的关系判断买卖点相关推荐
- python证券交易数据接口_实战 | Python获取股票交易数据
项目介绍 看到标题大家的第一反应估计是怎么用爬虫来获取股票交易数据,要获取股票交易数据确实是需要用爬虫没错,不过还有比使用爬虫更加方便的方式.今天要给大家介绍的是一个专门用来获取国内股票交易数据的开源 ...
- 如何通过python获取股票数据接口l2?
python提供了股票数据接口库Tushare,但用Tushare获取股票实时数据存在只能连续运行2次,就会被网站服务器禁止. 如使用以下代码: #导入模块 import tushare as ts ...
- python获取股票数据接口
#部分网站api数据有bug,这个bug问题不是自身程序的问题,而是第三方公司股票的问题 author = 'nooper' import re from math import ceil impor ...
- 以下哪个不是python财经数据接口工具_这7种Python的全新玩法,大部分人都不知道!...
Python第三方模块众多,下面我介绍一些比较实用而又有趣的模块,主要分为爬虫.数据处理.可视化.机器学习.神经网络.股票财经.游戏这7个方面,主要内容如下: 创一个小群,供大家学习交流聊天 如果有对 ...
- 高效的股票数据接口工具有哪些?
我们已经知道了量化投资是是通过数量化方式及计算机程序化发出买卖指令,以获取稳定收益为目的的交易方式,而其中最重要的载体是数据.在金融领域中量化的应用让金融分析师.外汇交易员.产品研发员等技术人员又有了 ...
- 如何通过java股票数据接口实现股票的自动化交易?
如何通过java股票数据接口实现股票的自动化交易? 目前,在股市中,股票自动化交易简称自动交易或机器交易,是投资策略家将自己的交易策略系统化了的电脑程序.这种电脑程序能够代替人在互联网上进行股票.qh ...
- 实时股票数据接口大全
股票数据的获取目前有如下两种方法可以获取: 1.http/javascript接口取数据 2.web-service接口 1.http/javascript接口取数据 1.1Sina股票数据接口 以大 ...
- python财经数据接口包_Tushare|免费开源财经数据接口包
「Tushare」是云观测提供免费开源的python财经数据接口包,主要实现对股票等金融数据从数据采集.清洗加工到数据存储的过程,能够为金融分析人员提供快速.整洁.和多样的便于分析的数据,为他们在数据 ...
- BaoStock:一个免费、开源的python证券数据接口包
如果需要获取历史行情数据,www.baostock.com是个很好的免费.开源的Python证券数据接口包. 特点:使用方便.免费免费免费,返回的绝大部分的数据格式都是pandas DataFrame ...
最新文章
- windows环境下的zookeeper安装
- cb-A10系统优化之(一):去除自启动软件
- Go报错:more than one character in rune literal
- OpenCV删除面积小的区域 实现图像二值化分割 标记连通区域
- 信息学奥赛一本通(1066:满足条件的数累加)
- 以普通用户启动的Vim如何保存需要root权限的文件
- 被踢出sci_这本世界上创刊最早的期刊竟被踢出 SCI 了?!
- PCL之求点云的BoundingBox
- Linux系统安装DB2数据库详解
- tof传感器有什么用 tof传感器原理「手机百科」
- linux上删除rime方案_超强的输入法:rime的配置(linux)
- 2022-06-29 AndroidR 获取接近传感器Proximity Sensor的信号,休眠和唤醒。
- [advGAN]Generating Adversarial Examples With Adversarial Networks
- Angularjs DataTable表格自动刷新
- 【干货分享】前端面试知识点锦集01(HTML+CSS篇)—— 附答案
- java aria,ARIA 标签和关系
- 第7组 团队展示(组长)
- 利用python进行数据分析_第二章_案例2_movielens_电影评分分析
- 经典语录-每日积累-03
- python之matplotlib制作基础图表以及图例,标注,marker,中文设置