quant-zero
Version:
Node-Quant is a powerful Node.js package for developing and testing quantitative trading strategies in cryptocurrency markets, offering tools for backtesting and performance analysis.
32 lines (26 loc) • 792 B
text/typescript
import exchange from '@/exchange'
import { CryptoPair, TimeFrame } from '@/types'
export default async function getAvgMarketReturn(
pair: CryptoPair,
timeFrame: TimeFrame,
dataLength: number,
): Promise<number> {
const data = await exchange.fetchOHLCV(
pair,
timeFrame,
undefined,
dataLength,
{ paginate: true },
)
let totalReturn = 0
for (let i = 1; i < data.length; i++) {
const prevCandle = data[i-1]
const currCandle = data[i]
if (!prevCandle || !currCandle) continue
const prevClose = Number(prevCandle[4])
const currClose = Number(currCandle[4])
const returnPct = ((currClose - prevClose) / prevClose) * 100
totalReturn += returnPct
}
return totalReturn / (data.length - 1)
}