quantitivecalc
Version:
A TypeScript library providing advanced quantitative finance functions for risk analysis, performance metrics, and technical indicators. (Currently in development)
99 lines (72 loc) • 3.54 kB
Markdown
# quantitivecalc
(Currently in development)
A TypeScript library providing advanced quantitative finance functions for risk analysis, performance metrics, technical indicators, and portfolio analysis.
## Features
- Risk & Volatility Analysis
- Technical Indicators
- Performance Metrics
- Portfolio Analysis
- Data Processing Utilities
## Available Functions
### Performance Metrics
- `calculateAlpha` - Computes excess returns relative to a benchmark.
- `calculateAnnualizedReturns` - Calculates annualized return.
- `calculateCalmarRatio` - Measures risk-adjusted returns.
- `calculateCompoundReturns` - Calculates compound returns.
- `calculateDailyReturns` - Computes daily returns.
- `calculateInformationRatio` - Assesses risk-adjusted performance.
- `calculateSortinoRatio` - Measures risk-adjusted returns considering downside risk.
- `calculatePeriodicCompoundReturns` - Calculates compound returns over specified periods.
- `addPeriodicCompoundReturnsToData` - Adds periodic compound returns to each row in the dataset.
### List & Data Utilities
- `filterByRange` - Filter list items based on a specified range.
- `findExtremesInColumn` - Find min/max values in a column.
- `getFirstRow` - Get the first row/item from a list.
- `getLastRow` - Get the last row/item from a list.
- `setFirstItemToValue` - Set a property on the first item in a list.
- `sortByColumn` - Sort a list by a column.
**Example: Sorting by column**
```typescript
import { qCalc } from 'quantitivecalc';
const data = [
{ name: 'Alice', score: 42 },
{ name: 'Bob', score: 75 },
{ name: 'Charlie', score: 60 }
];
const sorted = qCalc.listUtils.sortByColumn(data, 'score', true); // ascending order
console.log(sorted);
// Output: [ { name: 'Alice', score: 42 }, { name: 'Charlie', score: 60 }, { name: 'Bob', score: 75 } ]
```
- `analyzeColumnWithRange` - Analyze a column and return statistics within a specified range.
### Dict Of Lists Utilities
- `applyFunction` - Apply a function to each value in a dictionary.
- `applyFunctionToFlattened` - Apply a function to each item in flattened lists within a dictionary.
- `findExtremesInColumnPerKey` - Find min/max values in a column for each key in a dictionary.
- `findExtremesInColumn` - Find min/max values in a column across all keys.
### Portfolio Analysis
- `calculateCorrelationMatrix` - Computes correlation matrix for assets.
- `calculatePortfolioReturns` - Calculates portfolio returns.
- `calculateRebalancing` - Determines optimal rebalancing strategies.
- `calculateRiskContribution` - Analyzes risk contribution of each asset.
- Types: `AssetReturn`, `CorrelationMatrix`, `PortfolioWeight`, `RebalancingResult`, `RiskContribution`
### Risk & Volatility Analysis
- `calculateBeta` - Computes Beta coefficient.
- `calculateMaxDrawdown` - Calculates maximum observed loss.
- `calculateSharpeRatio` - Determines Sharpe Ratio.
- `calculateVaR` - Estimates Value at Risk.
- `calculateVolatility` - Measures statistical volatility.
- `getZScore` - Calculates Z-Score.
### Technical Indicators
- `calculateBollingerBands` - Calculates Bollinger Bands.
- `calculateMACD` - Calculates MACD indicator.
- `calculateMovingAverage` - Calculates moving average.
- `calculateRSI` - Calculates Relative Strength Index.
- `calculateStochasticOscillator` - Calculates Stochastic Oscillator.
## Installation
```bash
npm install quantitivecalc
```
## License
ISC
## Author
bitlogicforge