m2sortino(): number
M-squared for Sortino.
M2 calculated for Downside risk instead of Total Risk. It represents the portfolio return adjusted for downside risk relative to the benchmark.
Single asset vs benchmark
Single asset vs benchmark
import { assertEquals } from "jsr:@std/assert"; var x = [0.003,0.026,0.015,-0.009,0.014,0.024,0.015,0.066,-0.014,0.039]; var y = [-0.005,0.081,0.04,-0.037,-0.061,0.058,-0.049,-0.021,0.062,0.058]; assertEquals(m2sortino(x,y,0,0,12), 0.5611427561167748);
Multiple assets vs different benchmark
Multiple assets vs different benchmark
import { assertEquals } from "jsr:@std/assert"; var x = [0.003,0.026,0.015,-0.009,0.014,0.024,0.015,0.066,-0.014,0.039]; var y = [-0.005,0.081,0.04,-0.037,-0.061,0.058,-0.049,-0.021,0.062,0.058]; var z = [0.04,-0.022,0.043,0.028,-0.078,-0.011,0.033,-0.049,0.09,0.087]; assertEquals(m2sortino(x,z,0,0,12), 0.696982403465082); assertEquals(m2sortino(y,z,0,0,12), 0.1603188447030512);
m2sortino(): array | matrix
M-squared for Sortino.
M2 calculated for Downside risk instead of Total Risk. It represents the portfolio return adjusted for downside risk relative to the benchmark.
Single asset vs benchmark
Single asset vs benchmark
import { assertEquals } from "jsr:@std/assert"; var x = [0.003,0.026,0.015,-0.009,0.014,0.024,0.015,0.066,-0.014,0.039]; var y = [-0.005,0.081,0.04,-0.037,-0.061,0.058,-0.049,-0.021,0.062,0.058]; assertEquals(m2sortino(x,y,0,0,12), 0.5611427561167748);
Multiple assets vs different benchmark
Multiple assets vs different benchmark
import { assertEquals } from "jsr:@std/assert"; var x = [0.003,0.026,0.015,-0.009,0.014,0.024,0.015,0.066,-0.014,0.039]; var y = [-0.005,0.081,0.04,-0.037,-0.061,0.058,-0.049,-0.021,0.062,0.058]; var z = [0.04,-0.022,0.043,0.028,-0.078,-0.011,0.033,-0.049,0.09,0.087]; assertEquals(m2sortino(x,z,0,0,12), 0.696982403465082); assertEquals(m2sortino(y,z,0,0,12), 0.1603188447030512);