ๅบไบ Rust ็้ซๆง่ฝ้ๅไบคๆๆๆ ๅบ
| ็นๆง | ๆ่ฟฐ |
|---|---|
| ๐ 215+ ๆๆฏๆๆ | ๅฎๆด่ฆ็ TA-Libใpandas-taใ่ฐๆณขๅฝขๆ็ญ |
| โก Rust ้ซๆง่ฝ | ๆฏ็บฏ Python ๅฟซ 5-10 ๅ |
| ๐ ๆตๅผ่ฎก็ฎ | O(1) ๅฎๆถๅข้ๆๆ ่ฎก็ฎ |
| ๐ค ๆบๅจๅญฆไน | ๅ ็ฝฎ SVMใ็บฟๆงๅๅฝ็ญ ML ๆจกๅ |
| ๐ฏ LT ็ปๅๆๆ | 10 ไธช SFG ไธไธไบคๆไฟกๅท + ๅธๅบ็ถๆ่ช้ๅบ |
| ๐ ๅคๆกๆถๆฏๆ | NumPyใPandasใPolarsใPyTorch |
| ๐น ไบคๆๆง่ก | CCXT ไบคๆๆๆฅๅฃๅฐ่ฃ |
| ๐ฏ ้ซ็ฒพๅบฆ | ่ฏฏๅทฎๅฎนๅฟๅบฆ < 1e-9 |
| ๐ ็ฑปๅๅฎๅ จ | ๅฎๆด็็ฑปๅๆณจ่งฃ |
# ๅฎ่ฃ
ๆๆฐ็ๆฌ (v1.1.1+)
pip install haze-library
# ๆๆๅฎ็ๆฌ
pip install haze-library==1.1.1# ไบคๆๆง่กๅ่ฝ๏ผCCXT๏ผ
pip install haze-library[execution]
# Pandas ๆฏๆ
pip install haze-library[pandas]
# ๅฎๆดๅฎ่ฃ
pip install haze-library[full]git clone https://github.com/kwannz/haze.git
cd haze
pip install maturin
maturin develop --release --features python- Python 3.14+
- Rust 1.75+๏ผไป ๆบ็ ๆๅปบ้่ฆ๏ผ
import haze_library as haze
# ไปทๆ ผๆฐๆฎ
close = [100.0, 101.0, 102.0, 101.5, 103.0, 102.5, 104.0]
high = [101.0, 102.0, 103.0, 102.5, 104.0, 103.5, 105.0]
low = [99.0, 100.0, 101.0, 100.5, 102.0, 101.5, 103.0]
volume = [1000, 1200, 1100, 1300, 1250, 1150, 1400]
# ็งปๅจๅนณๅ็บฟ
sma = haze.sma(close, period=5)
ema = haze.ema(close, period=5)
# ๅจ้ๆๆ
rsi = haze.rsi(close, period=14)
macd, signal, hist = haze.macd(close, fast=12, slow=26, signal=9)
# ๆณขๅจ็ๆๆ
atr = haze.atr(high, low, close, period=14)
upper, middle, lower = haze.bollinger_bands(close, period=20, std_dev=2.0)
# ่ถๅฟๆๆ
supertrend, direction = haze.supertrend(high, low, close, period=10, multiplier=3.0)
adx = haze.adx(high, low, close, period=14)
# ๆไบค้ๆๆ
obv = haze.obv(close, volume)
vwap = haze.vwap(high, low, close, volume)import pandas as pd
import haze_library
# ๅ ่ฝฝๆฐๆฎ
df = pd.read_csv('ohlcv.csv')
# ไฝฟ็จ .haze ่ฎฟ้ฎๅจ
df['sma_20'] = df['close'].haze.sma(20)
df['rsi_14'] = df['close'].haze.rsi(14)
df['atr_14'] = df.haze.atr(14)
# ๅธๆๅธฆ๏ผ่ฟๅๅคๅ๏ผ
bb = df['close'].haze.bollinger_bands(20, 2.0)
df['bb_upper'] = bb['upper']
df['bb_middle'] = bb['middle']
df['bb_lower'] = bb['lower']import numpy as np
from haze_library import np_ta
close = np.random.randn(1000) + 100
# ่ฎก็ฎๆๆ ๏ผ่ฟๅ np.ndarray๏ผ
sma = np_ta.sma(close, period=20)
rsi = np_ta.rsi(close, period=14)
macd, signal, hist = np_ta.macd(close)from haze_library.streaming import (
IncrementalSMA,
IncrementalRSI,
IncrementalMACD,
IncrementalBollingerBands,
)
# ๅๅปบๆตๅผ่ฎก็ฎๅจ
sma = IncrementalSMA(period=20)
rsi = IncrementalRSI(period=14)
macd = IncrementalMACD(fast=12, slow=26, signal=9)
# ้ไธชๆฐๆฎ็นๆดๆฐ๏ผO(1) ๅคๆๅบฆ๏ผ
for price in realtime_prices:
sma_value = sma.update(price)
rsi_value = rsi.update(price)
macd_line, signal_line, histogram = macd.update(price)
print(f"SMA: {sma_value:.2f}, RSI: {rsi_value:.2f}")import haze_library as haze
# ๆฃๆต XABCD ่ฐๆณขๅฝขๆ
# ่ฟๅ๏ผไฟกๅท(1=็ๆถจ/-1=็่ท)ใPRZไธๆฒฟใPRZไธๆฒฟใๅฎๆๆฆ็
signals, prz_up, prz_lo, prob = haze.harmonics(high, low, close)
# ่ทๅ่ฏฆ็ปๅฝขๆไฟกๆฏ
patterns = haze.harmonics_patterns(high, low, left_bars=5, right_bars=5)
for p in patterns:
print(f"{p.pattern_type_zh}: {p.state}")
print(f" PRZ ไธญๅฟ: {p.prz_center:.2f}")
print(f" ๅฎๆๆฆ็: {p.completion_probability:.1%}")from haze_library import ml
# ็นๅพๆๅ
features = ml.extract_features(close, high, low, volume)
# ่ฎญ็ป SVM ๆจกๅ
model = ml.train_svm(features, labels)
# ้ขๆต
predictions = model.predict(new_features)LT (Long-Term) ็ปๅๆๆ ็ณป็ป้ๆไบ 10 ไธช SFG (Smart Financial Group) ไธไธไบคๆไฟกๅทๆๆ ๏ผๅ ทๅคๅธๅบ็ถๆ่ช้ๅบๆ้่ฐๆดๅๅ ๆ้ๆๆ็ฅจ้ป่พ๏ผ้็จไบไธญ้ฟๆ่ถๅฟไบคๆใ
import numpy as np
from haze_library import lt_indicator
# ๅๅคไปทๆ ผๆฐๆฎ๏ผ่ณๅฐ 500+ ไธชๆฐๆฎ็นไปฅ่ทๅพ็จณๅฎไฟกๅท๏ผ
n = 1000
high = np.array([100.0 + i * 0.1 + np.random.rand() * 2 for i in range(n)])
low = np.array([100.0 + i * 0.1 - np.random.rand() * 2 for i in range(n)])
close = np.array([100.0 + i * 0.1 for i in range(n)])
volume = np.array([1000.0 + np.random.rand() * 500 for _ in range(n)])
# ่ฎก็ฎ LT ็ปๅๆๆ
result = lt_indicator(high, low, close, volume)
# ๆฅ็ๆ็ปไฟกๅท
print(f"ไบคๆไฟกๅท: {result['ensemble']['final_signal']}") # BUY / SELL / NEUTRAL
print(f"ไฟกๅทๅผบๅบฆ: {result['ensemble']['confidence']:.2%}") # 0-100%
print(f"ๅธๅบ็ถๆ: {result['market_regime']}") # TRENDING / RANGING / VOLATILE| # | ๆๆ ๅ็งฐ | ่ฏดๆ | ้็จๅบๆฏ |
|---|---|---|---|
| 1 | AI SuperTrend | KNN + SuperTrend ๆบๅจๅญฆไน ๅขๅผบ | ่ถๅฟ่ท่ธช + ๆบ่ฝ้ขๆต |
| 2 | ATR2 Signals | ATR + MLMI ๅคๅฑๆฌก้ขๆต | ๆณขๅจ็่ช้ๅบๅ ฅๅบ |
| 3 | Pivot Points | ๆข่ฝด็น + ่ท่ธชๆญขๆ | ๆฏๆ้ปๅไฝ็ช็ ด |
| 4 | AI Momentum | KNN + RSI ๅ ณ็ณป้ขๆต | ๅจ้ๅ่ฝฌๆๆ |
| 5 | Volume Profile | ๆไบค้ๅๅธ + POC/VAH/VAL | ้ซๆไบค้ๅบๅ่ฏๅซ |
| 6 | General Parameters | ๅจๆ EMA ้้ | ่ถๅฟๅผบๅบฆ็กฎ่ฎค |
| 7 | Market Structure | BOS/CHoCH + Fair Value Gap | ๅธๅบ็ปๆ่ฝฌๆข |
| 8 | PD Array | Premium/Discount + ็ช็ ดๅบๅ | ไปทๆ ผๅคฑ่กกไฟฎๅค |
| 9 | Linear Regression | ๅคๆถ้ดๆกๆถๆฏๆ้ปๅ | ๅๅผๅๅฝไบคๆ |
| 10 | Dynamic MACD + HA | MACD + ๅนณๅ K ็บฟ | ่ถๅฟๅปถ็ปญ้ช่ฏ |
็ณป็ป่ชๅจๆฃๆต 3 ็งๅธๅบ็ถๆๅนถๅจๆ่ฐๆดๆๆ ๆ้๏ผ
# ๆฅ็ๅฝๅๅธๅบ็ถๆ
regime = result['market_regime']
print(f"ๅธๅบ็ถๆ: {regime}")
# ไธๅๅธๅบ็ถๆ็ๆ้็ญ็ฅ
if regime == "TRENDING":
# ่ถๅฟๆๆ ๆ้้ซ (SuperTrend, MACD, Regression)
print("โ ้ๅ่ถๅฟ่ท่ธช็ญ็ฅ")
elif regime == "RANGING":
# ๅๅผๅๅฝๆๆ ๆ้้ซ (Pivot, Volume Profile)
print("โ ้ๅๅบ้ดไบคๆ็ญ็ฅ")
elif regime == "VOLATILE":
# ๆณขๅจ็ๆๆ ๆ้้ซ (ATR2, Market Structure)
print("โ ้ๅๆณขๅจ็็ช็ ด็ญ็ฅ")# ๆฅ็ๆๆๆๆ ็็ฌ็ซไฟกๅท
for name, data in result['indicators'].items():
signal = data.get('signal', 'N/A')
confidence = data.get('confidence', 0.0)
print(f"{name:30} -> {signal:8} ({confidence:.1%})")
# ็คบไพ่พๅบ:
# ai_supertrend -> BUY (85.3%)
# atr2_signals -> BUY (72.1%)
# ai_momentum -> NEUTRAL (45.0%)
# volume_profile -> SELL (38.2%)
# ...
# ้ๆๆ็ฅจ็ปๆ
ensemble = result['ensemble']
print(f"\nๆ็ปไฟกๅท: {ensemble['final_signal']}")
print(f"ๅคๅคด็ฅจๆฐ: {ensemble['bullish_votes']}")
print(f"็ฉบๅคด็ฅจๆฐ: {ensemble['bearish_votes']}")
print(f"ไธญๆง็ฅจๆฐ: {ensemble['neutral_votes']}")
print(f"็ปผๅไฟกๅฟ: {ensemble['confidence']:.2%}")import pandas as pd
from haze_library import lt_indicator
# ๅ ่ฝฝ็ๅฎๅธๅบๆฐๆฎ
df = pd.read_csv('BTC_USDT_1h.csv') # ่ณๅฐ 500+ ่กๆฐๆฎ
# ่ฎก็ฎ LT ไฟกๅท
result = lt_indicator(
df['high'].values,
df['low'].values,
df['close'].values,
df['volume'].values
)
# ่ทๅๆๆฐไฟกๅท
signal = result['ensemble']['final_signal']
confidence = result['ensemble']['confidence']
regime = result['market_regime']
# ไบคๆ้ป่พ
if signal == "BUY" and confidence > 0.6:
if regime == "TRENDING":
print("โ
ๅผบ็็ๆถจไฟกๅท - ๅผๅคไป (่ถๅฟ่ท่ธช)")
elif regime == "RANGING":
print("โ
็ๆถจไฟกๅท - ๅบ้ดไธๆฒฟๅๅค")
else:
print("โ ๏ธ ็ๆถจไฟกๅท - ้ซๆณขๅจๆ่ฐจๆ
ๆไฝ")
elif signal == "SELL" and confidence > 0.6:
if regime == "TRENDING":
print("โ ๅผบ็็่ทไฟกๅท - ๅผ็ฉบไป (่ถๅฟ่ท่ธช)")
elif regime == "RANGING":
print("โ ็่ทไฟกๅท - ๅบ้ดไธๆฒฟๅ็ฉบ")
else:
print("โ ๏ธ ็่ทไฟกๅท - ้ซๆณขๅจๆ่ฐจๆ
ๆไฝ")
else:
print("โธ๏ธ ไธญๆงไฟกๅท - ่งๆ็ญๅพ
ๆดๆ็กฎๆบไผ")
# ้ฃ้ฉ็ฎก็ๅปบ่ฎฎ
if confidence < 0.4:
print("โ ๏ธ ไฝไฟกๅฟไฟกๅท - ๅปบ่ฎฎๅๅฐไปไฝๆไธไบคๆ")
elif confidence < 0.6:
print("โน๏ธ ไธญ็ญไฟกๅฟ - ๆ ๅไปไฝ")
else:
print("๐ช ้ซไฟกๅฟไฟกๅท - ๅฏ้ๅฝๅขๅ ไปไฝ๏ผไธ่ถ
่ฟๆๅคงไปไฝ้ๅถ๏ผ")- ๆฐๆฎ้่ฆๆฑ: ่ณๅฐ 500 ไธชๆฐๆฎ็น๏ผๆจ่ 1000+๏ผไปฅ่ทๅพ็จณๅฎไฟกๅท
- ๆถ้ดๅจๆ: ้็จไบ 1H / 4H / 1D ๅจๆ๏ผไธญ้ฟๆ่ถๅฟไบคๆ
- ไฟกๅท็กฎ่ฎค:
confidence > 0.6ไธบ้ซ่ดจ้ไฟกๅทconfidence < 0.4ๅปบ่ฎฎ่งๆ
- ๅธๅบ้ๅบ:
- TRENDING: ้กบๅฟไบคๆ๏ผๆไปๆถ้ด่พ้ฟ
- RANGING: ๅบ้ดไบคๆ๏ผๅฟซ่ฟๅฟซๅบ
- VOLATILE: ่ฐจๆ ๆไฝ๏ผไธฅๆ ผๆญขๆ
- ้ฃ้ฉๆงๅถ:
- ๆฐธ่ฟ่ฎพ็ฝฎๆญขๆ๏ผๅปบ่ฎฎ 2-3 ๅ ATR๏ผ
- ๅ็ฌไปไฝไธ่ถ ่ฟๆป่ต้ 5-10%
- ๅคไธชไฟกๅท็กฎ่ฎคๅๅๅ ฅๅบ
| ๆๆ | ่ฏดๆ | ๅฝๆฐ |
|---|---|---|
| SMA | ็ฎๅ็งปๅจๅนณๅ | sma(close, period) |
| EMA | ๆๆฐ็งปๅจๅนณๅ | ema(close, period) |
| WMA | ๅ ๆ็งปๅจๅนณๅ | wma(close, period) |
| DEMA | ๅ้ๆๆฐ็งปๅจๅนณๅ | dema(close, period) |
| TEMA | ไธ้ๆๆฐ็งปๅจๅนณๅ | tema(close, period) |
| KAMA | ่ๅคซๆผ่ช้ๅบ็งปๅจๅนณๅ | kama(close, period) |
| HMA | ่ตซๅฐ็งปๅจๅนณๅ | hma(close, period) |
| ZLMA | ้ถๅปถ่ฟ็งปๅจๅนณๅ | zlma(close, period) |
| T3 | T3 ็งปๅจๅนณๅ | t3(close, period) |
| ALMA | ้ฟๅฐ่ฏบๅพท็งปๅจๅนณๅ | alma(close, period) |
| FRAMA | ๅๅฝข่ช้ๅบ็งปๅจๅนณๅ | frama(close, period) |
| VIDYA | ๅ้ๆๆฐๅจๆๅนณๅ | vidya(close, period) |
| RMA | ็ธๅฏน็งปๅจๅนณๅ | rma(close, period) |
| SWMA | ๆญฃๅผฆๅ ๆ็งปๅจๅนณๅ | swma(close) |
| PWMA | ๅธๆฏๅกๅ ๆ็งปๅจๅนณๅ | pwma(close, period) |
| SINWMA | ๆญฃๅผฆๆ้็งปๅจๅนณๅ | sinwma(close, period) |
| ๆๆ | ่ฏดๆ | ๅฝๆฐ |
|---|---|---|
| RSI | ็ธๅฏนๅผบๅผฑๆๆ | rsi(close, period) |
| MACD | ๆๆฐๅนณๆปๅผๅ็งปๅจๅนณๅ | macd(close, fast, slow, signal) |
| Stochastic | ้ๆบๆๆ | stochastic(high, low, close, k, d) |
| CCI | ๅๅ้้ๆๆฐ | cci(high, low, close, period) |
| MFI | ่ต้ๆต้ๆๆ | mfi(high, low, close, volume, period) |
| Williams %R | ๅจๅปๆๆ | willr(high, low, close, period) |
| ROC | ๅๅ็ | roc(close, period) |
| MOM | ๅจ้ | mom(close, period) |
| KDJ | ้ๆบๆๆ KDJ | kdj(high, low, close, k, d, j) |
| TSI | ็ๅฎๅผบๅบฆๆๆฐ | tsi(close, fast, slow) |
| Stoch RSI | ้ๆบ RSI | stochrsi(close, period) |
| Ultimate | ็ปๆๆฏ่กๅจ | ultimate(high, low, close) |
| Awesome | ๅจ้้่กๆๆ | awesome(high, low) |
| Fisher | ่ดน่ๅฐๅๆข | fisher(high, low, period) |
| APO | ็ปๅฏนไปทๆ ผๆฏ่กๅจ | apo(close, fast, slow) |
| PPO | ็พๅๆฏไปทๆ ผๆฏ่กๅจ | ppo(close, fast, slow) |
| CMO | ้ฑๅพทๅจ้ๆฏ่กๅจ | cmo(close, period) |
| ๆๆ | ่ฏดๆ | ๅฝๆฐ |
|---|---|---|
| ATR | ๅนณๅ็ๅฎๆณขๅน | atr(high, low, close, period) |
| NATR | ๅฝไธๅ ATR | natr(high, low, close, period) |
| Bollinger | ๅธๆๅธฆ | bollinger_bands(close, period, std) |
| Keltner | ่ฏ็น็บณ้้ | keltner(high, low, close, period) |
| Donchian | ๅๅฅๅฎ้้ | donchian(high, low, period) |
| Chandelier | ๅ็ฏๆญขๆ | chandelier(high, low, close, period) |
| HV | ๅๅฒๆณขๅจ็ | historical_volatility(close, period) |
| Ulcer | ๆบ็กๆๆฐ | ulcer_index(close, period) |
| Mass | ่ดจ้ๆๆฐ | mass_index(high, low) |
| True Range | ็ๅฎๆณขๅน | true_range(high, low, close) |
| ๆๆ | ่ฏดๆ | ๅฝๆฐ |
|---|---|---|
| SuperTrend | ่ถ ็บง่ถๅฟ | supertrend(high, low, close, period, mult) |
| ADX | ๅนณๅ่ถๅๆๆฐ | adx(high, low, close, period) |
| SAR | ๆ็ฉ็บฟ่ฝฌๅ | sar(high, low, accel, max_accel) |
| Aroon | ้ฟ้ๆๆ | aroon(high, low, period) |
| DMI | ๆนๅ็งปๅจๆๆฐ | dmi(high, low, close, period) |
| TRIX | ไธ้ๅนณๆป EMA | trix(close, period) |
| DPO | ๅป่ถๅฟไปทๆ ผๆฏ่กๅจ | dpo(close, period) |
| Vortex | ๆถกๆตๆๆ | vortex(high, low, close, period) |
| Choppiness | ้่กๆๆฐ | choppiness(high, low, close, period) |
| VHF | ๅ็ดๆฐดๅนณ่ฟๆปคๅจ | vhf(close, period) |
| QStick | ้ไปทๆฃ | qstick(open, close, period) |
| DX | ่ถๅๆๆฐ | dx(high, low, close, period) |
| +DI | ๆญฃๅๆๆ | plus_di(high, low, close, period) |
| -DI | ่ดๅๆๆ | minus_di(high, low, close, period) |
| ๆๆ | ่ฏดๆ | ๅฝๆฐ |
|---|---|---|
| OBV | ่ฝ้ๆฝฎ | obv(close, volume) |
| VWAP | ๆไบค้ๅ ๆๅไปท | vwap(high, low, close, volume) |
| CMF | ่ก้่ต้ๆต้ | cmf(high, low, close, volume, period) |
| Force | ๅฒ้ๆๆฐ | force_index(close, volume, period) |
| VO | ๆไบค้ๆฏ่กๅจ | volume_oscillator(volume, fast, slow) |
| AD | ็ดฏ็งฏ/ๆดพๅ็บฟ | ad(high, low, close, volume) |
| PVT | ไปท้่ถๅฟ | pvt(close, volume) |
| NVI | ่ด้ๆๆ | nvi(close, volume) |
| PVI | ๆญฃ้ๆๆ | pvi(close, volume) |
| EOM | ็ฎๆๆณขๅจๆๆ | eom(high, low, volume, period) |
| ADOSC | AD ๆฏ่กๅจ | adosc(high, low, close, volume, fast, slow) |
ๆฏๆๆๆไธปๆต K ็บฟๅฝขๆ่ฏๅซ๏ผ
- ๅ่ฝฌๅฝขๆ๏ผ้คๅญ็บฟใไธๅ็บฟใๅๆฒกๅฝขๆใๅญ็บฟใๅๅญๆใๆฉๆจไนๆใ้ปๆไนๆ็ญ
- ๆ็ปญๅฝขๆ๏ผไธ็ฝๅ ตใไธ้ป้ธฆใ่ทณ็ฉบ็ผบๅฃ็ญ
- ไธญๆงๅฝขๆ๏ผ้ซๆตช็บฟใ้่บ็บฟ็ญ
# ๆฃๆต่ก็ๅพๅฝขๆ
patterns = haze.detect_candlestick_patterns(open, high, low, close)- ็ป่ฎกๆๆ ๏ผ13 ไธช๏ผ๏ผ็บฟๆงๅๅฝใ็ธๅ ณๆงใZ ๅๆฐใ่ดๅก็ณปๆฐ็ญ
- ไปทๆ ผๅๆข๏ผ4 ไธช๏ผ๏ผๅนณๅไปทๆ ผใไธญ้ดไปทใๅ ธๅไปทๆ ผ็ญ
- ๆฐๅญฆ่ฟ็ฎ๏ผ25 ไธช๏ผ๏ผๅ็ฑปๆฐๅญฆๅฝๆฐ
- ๅจๆๆๆ ๏ผ5 ไธช๏ผ๏ผๅธๅฐไผฏ็นๅๆข็ณปๅ
- ่ฐๆณขๅฝขๆ๏ผ3 ไธช๏ผ๏ผXABCD ๅฝขๆๆฃๆต
- ้ซ็บงไฟกๅท๏ผ4 ไธช๏ผ๏ผAI SuperTrendใๅจๆ MACD ็ญ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Python ๅบ็จๅฑ โ
โ ๏ผไบคๆ็ญ็ฅ / ๆฐๆฎๅๆ / ๅๆต็ณป็ป๏ผ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ np_ta โ โ pandas โ โ polars_ta โ
โ (NumPy) โ โ accessor โ โ (Polars) โ
โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ
โ โ โ
โโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ haze_library (PyO3 ็ปๅฎ) โ
โ 215+ ๆๆ ๅฝๆฐ + ๆตๅผ่ฎก็ฎๅจ + ML ๆจกๅ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Rust ๆ ธๅฟๅบ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โ indicators โ โ streaming โ โ ml โ โ
โ โ ๆๆฏๆๆ โ โ ๆตๅผ่ฎก็ฎ โ โ ๆบๅจๅญฆไน โ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โ utils โ โ types โ โ errors โ โ
โ โ ๅทฅๅ
ทๅฝๆฐ โ โ ็ฑปๅๅฎไน โ โ ้่ฏฏๅค็ โ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ๆต่ฏ็ฏๅข๏ผ10,000 ไธชๆฐๆฎ็น
| ๆๆ | pandas-ta | TA-Lib | Haze-Library | ๅ ้ๆฏ |
|---|---|---|---|---|
| RSI (14) | 12.5 ms | 8.2 ms | 1.3 ms | 6.3x |
| Bollinger (20) | 15.8 ms | 10.1 ms | 2.1 ms | 4.8x |
| MACD (12/26/9) | 18.3 ms | 11.4 ms | 1.9 ms | 6.0x |
| SuperTrend (10) | 22.1 ms | - | 2.8 ms | 7.9x |
| ADX (14) | 19.5 ms | 12.3 ms | 2.2 ms | 5.6x |
Haze-Library ้็จๅค็งๆๆฏ็กฎไฟๆฐๅผ่ฎก็ฎ็็ฒพ็กฎๆง๏ผ
- f64 ็ฒพๅบฆ๏ผๆๆ่ฎก็ฎไฝฟ็จ 64 ไฝๆตฎ็นๆฐ
- Kahan ๆฑๅ๏ผ้ฟๅบๅ็ดฏๅ ไฝฟ็จ่กฅๅฟๆฑๅ็ฎๆณ
- Welford ็ฎๆณ๏ผๆนๅทฎ/ๆ ๅๅทฎไฝฟ็จๅข้็ฎๆณ้ฟๅ ๆฐๅผๆบขๅบ
- ็ฒพๅบฆ้ช่ฏ๏ผๆๆๆๆ ไธๅ่ๅฎ็ฐๅฏนๆฏ่ฏฏๅทฎ < 1e-9
import haze_library as haze
try:
# ๅจๆ่ฟๅคง
rsi = haze.rsi([100, 101, 102], period=14)
except ValueError as e:
print(f"้่ฏฏ: {e}")
# ่พๅบ: Invalid period: 14 (must be > 0 and <= data length 3)
try:
# ๆฐ็ป้ฟๅบฆไธๅน้
atr = haze.atr([101, 102], [99, 100], [100, 101, 102], period=2)
except ValueError as e:
print(f"้่ฏฏ: {e}")
# ่พๅบ: Length mismatch
try:
# ็ฉบๆฐๆฎ
rsi = haze.rsi([], period=14)
except ValueError as e:
print(f"้่ฏฏ: {e}")
# ่พๅบ: Empty input้่ฆๅฎ่ฃ
haze-library[execution]๏ผ
from haze_library.execution import ExecutionEngine, ExecutionPermissions
from haze_library.execution.providers.ccxt import CCXTProvider
# ๅๅปบไบคๆๆง่กๅผๆ
provider = CCXTProvider(
exchange="binance",
api_key="your_key",
api_secret="your_secret",
)
permissions = ExecutionPermissions(
live_trading=True,
max_notional_per_order=1000.0, # ๅ็ฌๆๅคง 1000 USDT
)
engine = ExecutionEngine(provider=provider, permissions=permissions)
# ไธๅ
from haze_library.execution.models import CreateOrderRequest
order_req = CreateOrderRequest(
symbol="BTC/USDT",
side="buy",
order_type="limit",
amount=0.001,
price=50000.0,
)
order, check = engine.place_order(order_req)
print(f"่ฎขๅ ID: {order.id}")ๆฌ้กน็ฎไธบไธๆ่ฝฏไปถ๏ผไฟ็ๆๆๆๅฉใ
This project is proprietary software. All rights reserved.
- โ ็ฆๆญขๆช็ปๆๆ็ไฝฟ็จ / Unauthorized use prohibited
- โ ๅไธ่ฎธๅฏๅฏ็จ / Commercial licenses available
่ฎธๅฏๅจ่ฏข / Licensing inquiries: team@haze-library.com
ๆฌข่ฟๆไบค Issue ๅ Pull Request๏ผ
่ฏฆ่ง CONTRIBUTING.md
- TA-Lib - ๆๆฏๅๆๅ่ๅฎ็ฐ
- pandas-ta - Pandas ้ๆ็ตๆ
- PyO3 - Rust-Python ็ปๅฎ
- Maturin - ๆๅปบๅทฅๅ ท
Made with โค๏ธ by the Haze Team
็ๆฌ: 1.1.3 | ๆดๆฐๆฅๆ: 2025-12-30