Skip to main content

Python function package of technical indicators and patterns implemented by C++

Project description

pytech

Python package providing technical indicators and patterns implemented in C++.

安装

pip install pytech-zp

说明

pytech 包中包含 pytech 模块和 getpricedata 模块。pytech 模块提供了技术指标和买卖信号的实现,getETFprice 模块提供了获取 ETF 数据的功能。其中 getETFprice 模块有以下依赖包:

pandas
numpy
pyodbc

同时需安装 ODBC Driver 17 for SQL Server。安装方法如下:

  1. 打开网址:https://learn.microsoft.com/zh-cn/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16
  2. 选择版本17,不要选择版本18
  3. 64位下载:下载 Microsoft ODBC Driver 17 for SQL Server (x64) https://go.microsoft.com/fwlink/?linkid=2266337
  4. 32位下载:下载 Microsoft ODBC Driver 17 for SQL Server (x86) https://go.microsoft.com/fwlink/?linkid=2266446
  5. 双击下载好的文件安装即可

getpricedata 模块的使用方法如下:

from getpricedata import Params,GetETFprice
gparams = Params()
getETF = GetETFprice(gparams)
# getETFprice(ETFcode,startDate,endDate)
# ETFcode: ETF代码,例如'510300.SH'
# startDate: 开始日期,例如'2021-01-01'
# endDate: 结束日期,例如'2021-01-31'
# df 为 pandas 的 DataFrame 类型
# 输出位 [最高价,最低价,收盘价,开盘价,成交量,日期]
# [H, L, C, O, V, t]
df = getETF.getETFprice('510300.SH', '2021-01-01', '2021-01-31')
# 获取到当前最新日期的数据
from datetime import datetime
ETFcode = '510300.SH'
startDate = '2016-01-01'
endDate = datetime.now().date().strftime('%Y-%m-%d')
df = getETF.getETFprice(ETFcode, startDate, endDate)

pytech 模块的使用方法如下:

pytech 模块提供了技术指标函数和买卖信号函数。其中买卖信号函数通过类 Params 来设置参数,通过类 Signal 来获取买卖信号。

Params 类包含了技术指标买卖信号的默认参数,可以通过修改 Params 类的属性来修改参数。

Params 类需要手动设置必要的价格数据,例如开盘价、最高价、最低价、收盘价、成交量。这些数据在类中默认为空值。

使用 Signal 类的函数需要首先实例化 Params 类,然后再调用 Signal 类的函数,通过设置 Params 类的价格属性来向 Signal 类传递价格数据。

Signal 类的函数返回一个 bool 类型的列表,列表的长度与价格数据的长度相同,列表的元素为 true 或 false,true 表示满足,false 表示不满足条件。

from pytech import pytech  
  
# 获取技术指标的买卖信号
params = pytech.Params()
signals = pytech.Signals()
params.C = df['C']
result = signals.MACDcrossup(params)

# 直接使用技术指标计算指标值
rDIF,rDEA,rMACD = pytech.MACD(params.C,12,26,9)

可以使用 help 来查看 pytech 包中的函数说明,例如:

from pytech import pytech
help(pytech)
help(pytech.Signals.MACDcrossup) 

买卖信号函数列表如下:

  • MAcrossup(Params& params), params.C, params.MAdx, params.MAcx
  • MAcrossdown(Params& params), params.C, params.MAdx, params.MAcx
  • MAlong(Params& params), params.C, params.MAdx, params.MAcx
  • MAshort(Params& params), params.C, params.MAdx, params.MAcx
  • EMAcrossup(Params& params), params.C, params.EMAdx, params.EMAcx
  • EMAcrossdown(Params& params), params.C, params.EMAdx, params.EMAcx
  • EMAlong(Params& params), params.C, params.EMAdx, params.EMAcx
  • EMAshort(Params& params), params.C, params.EMAdx, params.EMAcx
  • WMAcrossup(Params& params), params.C, params.WMAdx, params.WMAcx
  • WMAcrossdown(Params& params), params.C, params.WMAdx, params.WMAcx
  • WMAlong(Params& params), params.C, params.WMAdx, params.WMAcx
  • WMAshort(Params& params), params.C, params.WMAdx, params.WMAcx
  • MACDcrossup(Params& params), params.C, params.MACDdx, params.MACDcx, params.MACDdea
  • MACDcrossdown(Params& params), params.C, params.MACDdx, params.MACDcx, params.MACDdea
  • ATRxy(Params& params), params.H, params.L, params.C, params.ATRzq, params.ATR1bs
  • ATRqj(Params& params), params.H, params.L, params.C, params.ATRzq, params.ATR2xj, params.ATR2sj
  • ASIcrossup(Params& params), params.H, params.L, params.C, params.O, params.ASIn, params.ASIm
  • ASIcrossdown(Params& params), params.H, params.L, params.C, params.O, params.ASIn, params.ASIm
  • ASIupbreakthrough(Params& params), params.H, params.L, params.C, params.O, params.ASIn, params.ASIm, params.ASItpzq
  • ASIdownbreakthrough(Params& params), params.H, params.L, params.C, params.O, params.ASIn, params.ASIm, params.ASItpzq
  • ROCcrossup(Params& params), params.C, params.ROCn
  • ROCcrossdown(Params& params), params.C, params.ROCn
  • RSIcrossup(Params& params), params.C, params.RSIdx, params.RSIcx
  • RSIcrossdown(Params& params), params.C, params.RSIdx, params.RSIcx
  • AROONupgrade(Params& params), params.C, params.AROONz, params.AROONzq
  • AROONupless(Params& params), params.C, params.AROONz, params.AROONzq
  • AROONdowngrade(Params& params), params.C, params.AROONz, params.AROONzq
  • AROONdownless(Params& params), params.C, params.AROONz, params.AROONzq
  • BOLLbreakup(Params& params), params.C, params.BOLLn
  • BOLLbreakdown(Params& params), params.C, params.BOLLn
  • BOLLlocalup(Params& params), params.C, params.BOLLn
  • BOLLlocaldown(Params& params), params.C, params.BOLLn
  • Kentner_ATRbreakup(Params& params), params.C, params.H, params.L, params.Kentner_ATRn, params.Kentner_ATRbs, params.Kentner_ATRmid
  • Kentner_ATRbreakdown(Params& params), params.C, params.H, params.L, params.Kentner_ATRn, params.Kentner_ATRbs, params.Kentner_ATRmid
  • Kentner_ATRoverup(Params& params), params.C, params.H, params.L, params.Kentner_ATRn, params.Kentner_ATRbs, params.Kentner_ATRmid
  • Kentner_ATRbelowdown(Params& params), params.C, params.H, params.L, params.Kentner_ATRn, params.Kentner_ATRbs, params.Kentner_ATRmid
  • KDJcrossup(Params& params), params.H, params.L, params.C, params.KDJrsv, params.KDJk, params.KDJd
  • KDJcrossdown(Params& params), params.H, params.L, params.C, params.KDJrsv, params.KDJk, params.KDJd
  • KDJlong(Params& params), params.H, params.L, params.C, params.KDJrsv, params.KDJk, params.KDJd
  • KDJshort(Params& params), params.H, params.L, params.C, params.KDJrsv, params.KDJk, params.KDJd
  • BBIcrossup(Params& params), params.C, params.BBIn1, params.BBIn2, params.BBIn3, params.BBIn4
  • BBIcrossdown(Params& params), params.C, params.BBIn1, params.BBIn2, params.BBIn3, params.BBIn4
  • BBIlong(Params& params), params.C, params.BBIn1, params.BBIn2, params.BBIn3, params.BBIn4
  • BBIshort(Params& params), params.C, params.BBIn1, params.BBIn2, params.BBIn3, params.BBIn4
  • WRoverbuy(Params& params), params.H, params.L, params.C, params.WRn, params.WRoverbuywr1
  • WRoversell(Params& params), params.H, params.L, params.C, params.WRn, params.WRoversellwr1
  • MFIcrossup(Params& params), params.H, params.L, params.C, params.V, params.MFIzq, params.MFIjxzq
  • MFIcrossdown(Params& params), params.H, params.L, params.C, params.V, params.MFIzq, params.MFIjxzq
  • OBVpriceup(Params& params), params.C, params.V, params.OBVn
  • OBVpricedown(Params& params), params.C, params.V, params.OBVn
  • CCIoverbuy(Params& params), params.H, params.L, params.C, params.CCIn
  • CCIoversell(Params& params), params.H, params.L, params.C, params.CCIn
  • TRIXcrossup(Params& params), params.C, params.TRIXzq, params.TRIXjxzq
  • TRIXcrossdown(Params& params), params.C, params.TRIXzq, params.TRIXjxzq
  • TRIXlong(Params& params), params.C, params.TRIXzq, params.TRIXjxzq
  • TRIXshort(Params& params), params.C, params.TRIXzq, params.TRIXjxzq
  • MTMcrossup(Params& params), params.C, params.MTMzq, params.MTMjxzq
  • MTMcrossdown(Params& params), params.C, params.MTMzq, params.MTMjxzq
  • DMAIcorossup(Params& params), params.C, params.DMAn1, params.DMAn2, params.DMAm
  • DMAIcorossdown(Params& params), params.C, params.DMAn1, params.DMAn2, params.DMAm
  • DMIcrossup(Params& params), params.H, params.L, params.C, params.DMIn
  • DMIcrossdown(Params& params), params.H, params.L, params.C, params.DMIn

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytech_zp-0.1.4.tar.gz (140.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytech_zp-0.1.4-py3-none-any.whl (137.5 kB view details)

Uploaded Python 3

File details

Details for the file pytech_zp-0.1.4.tar.gz.

File metadata

  • Download URL: pytech_zp-0.1.4.tar.gz
  • Upload date:
  • Size: 140.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.13

File hashes

Hashes for pytech_zp-0.1.4.tar.gz
Algorithm Hash digest
SHA256 deb2dd530326873bc9f0e69376fe32c4fcdd89c592ffd37b636308030b433129
MD5 9f92057c255f66743aa5dac81d3aab5c
BLAKE2b-256 f2b6d534976b1738b5ccdb6dc7897a96f9b7b5c6280b4d478b6be66b812b17ec

See more details on using hashes here.

File details

Details for the file pytech_zp-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: pytech_zp-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 137.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.13

File hashes

Hashes for pytech_zp-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f1b837cea998ed7d999bddf7fa6d9a93bf4478dcfcd8d676ebcfa12d201b8226
MD5 7176ff8512384f2cda988fb37ec5d5df
BLAKE2b-256 0e98ac85779575b3e623cbc47524969abbedaf1a91edbcfce40c37f170038922

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page