Skip to main content

aiwang-indicator 是一个采用通达信指标接口的 Python 技术指标编辑公式库。用户可以像在通达信中一样,使用简洁的TDX style语法进行各类技术指标的编写与回测,非常适合量化研究和策略开发。

Project description

aiwang-indicator 是一个采用类似通达信指标接口的 Python 技术指标编辑公式库。用户可以像在通达信中一样,使用简洁的TDX style语法进行各类技术指标的编写与回测,非常适合量化研究和策略开发。

说明:本项目中的部分代码来自开源项目 MyTT,特此致谢。


目录


特性

  • 通达信风格的指标函数接口,极易上手

  • 支持主流金融数据加载(默认采用AkShare)

  • 丰富的常用指标函数,支持自定义扩展

  • 兼容 numpy/pandas,便于数据分析


安装 aiwang-indicator

pip install aiwang-indicator

快速开始

以下是一个简单示例,演示如何使用 aiwang-indicator 加载数据并计算指标:

1. 数据加载与环境初始化

from aiwang_indicator import set_data_loader

from aiwang_indicator.data.loader.ak_loader import AkLoader



# 初始化数据加载器

data_loader = AkLoader(start_date='20240101')

set_data_loader(data_loader, default_stock_id="600900", default_freq='daily')

2. 常用行情数据序列变量

默认行情数据序列

| 变量 | 含义 |

|-------------|--------------|

| CLOSE()/C | 默认收盘价序列 |

| OPEN()/O | 默认开盘价序列 |

| HIGH()/H | 默认最高价序列 |

| LOW()/L | 默认最低价序列 |

| DATE()/D | 默认日期序列 |

带参数行情数据序列

| 函数 | 说明 |

|--------------|------------------------------|

| CLOSE('代码') | 获取指定股票的收盘价序列 |

| OPEN('代码') | 获取指定股票的开盘价序列 |

| HIGH('代码') | 获取指定股票的最高价序列 |

| LOW('代码') | 获取指定股票的最低价序列 |

| DATE('代码') | 获取指定股票的日期序列 |

| CLOSE('周期') | 获取指定周期的收盘价序列 |

| OPEN('周期') | 获取指定周期的开盘价序列 |

| HIGH('周期') | 获取指定周期的最高价序列 |

| LOW('周期') | 获取指定周期的最低价序列 |

| DATE('周期') | 获取指定周期的日期序列 |

| CLOSE('代码', '周期') | 获取指定股票指定周期的收盘价序列
如:CLOSE('600519', 'weekly') 获取600519的周线收盘价 |

| OPEN('代码', '周期') | 获取指定股票指定周期的开盘价序列
如:OPEN('600519', 'weekly') 获取600519的周线开盘价 |

| HIGH('代码', '周期') | 获取指定股票指定周期的最高价序列
如:HIGH('600519', 'weekly') 获取600519的周线最高价 |

| LOW('代码', '周期') | 获取指定股票指定周期的最低价序列
如:LOW('600519', 'weekly') 获取600519的周线最低价 |

| DATE('代码', '周期') | 获取指定股票指定周期的日期序列
如:DATE('600519', 'weekly') 获取600519的周线日期 |

3. 指标函数示例

计算指数化序列

from aiwang_indicator import *



idx = INDEX(C)  # 将收盘价序列指数化,首日为1000

计算 KDJ 指标

from aiwang_indicator import *



N = 9

M1 = 3

M2 = 3



RSV = (C - LLV(L, N)) / (HHV(H, N) - LLV(L, N)) * 100

K = SMA(RSV, M1, 1)

D = SMA(K, M2, 1)

J = 3 * K - 2 * D

直接获取数据序列

from aiwang_indicator import *



close_prices = CLOSE()           # 获取默认股票的收盘价序列

open_prices = OPEN('600519')     # 获取指定股票的开盘价序列

close_prices = CLOSE('600519', 'weekly')        #获取600519的周线收盘价

进阶用法

  • 支持自定义数据加载器

  • 支持多周期、多标的切换

  • 可与 pandas/numpy 等生态无缝结合


贡献与反馈

欢迎提交 Issue 或 PR,完善指标库与文档!

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

aiwang_indicator-0.1.5.tar.gz (11.8 kB view details)

Uploaded Source

File details

Details for the file aiwang_indicator-0.1.5.tar.gz.

File metadata

  • Download URL: aiwang_indicator-0.1.5.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for aiwang_indicator-0.1.5.tar.gz
Algorithm Hash digest
SHA256 1470d50f6f3a6c835f64eb71172499c3df40ec27feb00e42ec3df6a81cc52411
MD5 c32c97d90f41fdeab6a08d1cd2289a08
BLAKE2b-256 a5e908917e87b40b4e666a13fc02ff95b8e85defef7acacc44ec9b1a965445a6

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