Package Exports
- @nepse-toolkit/analysis
Readme
@nepse-toolkit/analysis
Technical indicators, screening strategies, fundamental valuation, and backtesting for NEPSE.
Part of the nepse-toolkit monorepo.
Features
Technical Indicators (9)
All indicators account for NEPSE's 10% daily circuit breaker limit.
- SMA / EMA — Simple and Exponential Moving Averages
- RSI — Relative Strength Index with circuit-aware extremes at 30/70
- MACD — Moving Average Convergence Divergence (12/26/9)
- Bollinger Bands — 20-period with squeeze detection
- ATR — Average True Range capped at 10% circuit limit
- VWAP — Volume Weighted Average Price
- OBV — On Balance Volume for accumulation/distribution
- Stochastic — %K/%D oscillator for overbought/oversold
Screening Strategies (7)
| Strategy | Signal |
|---|---|
oversold_bounce |
RSI(14) < 30 with recovery signal |
momentum_breakout |
SMA(20) crosses above SMA(50) with volume |
high_volume_surge |
Volume 2x+ above 20-day average |
golden_cross |
Recent SMA(20)/SMA(50) golden cross |
bollinger_squeeze |
Narrowing Bollinger Bands |
value_picks |
P/E < 15 with ROE > 10% |
dividend_champions |
Dividend yield > 3% |
Fundamental Analysis
- Graham intrinsic value, DDM, PBV fair value
- Portfolio P&L with Nepal capital gains tax (5% long-term / 7.5% short-term)
- Position sizing based on risk tolerance
Backtesting
Test strategies against historical data with Sharpe ratio, max drawdown, win rate, and profit factor.
Install
npm install @nepse-toolkit/analysisUsage
import { calculateIndicators, screenStocks, BacktestEngine } from "@nepse-toolkit/analysis";
// Technical analysis
const signals = calculateIndicators(ohlcvData);
// Screen stocks
const opportunities = screenStocks(stocksData, "oversold_bounce");
// Backtest
const engine = new BacktestEngine();
const results = engine.run("momentum_breakout", historicalData);License
MIT