function modigliani
modigliani(
x: array,
y: array,
frisk?: number,
dim?: 0 | 1,
): number

Modigliani-Modigliani measure (M2).

The Modigliani-Modigliani measure (M2) is a risk-adjusted performance measure that represents the return a portfolio would have achieved if it had taken the same risk as the benchmark.

Examples

Modigliani measure for a 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(modigliani(x,y), 0.04069406485838784);

Modigliani measure for multiple assets 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];

var z = [0.04,-0.022,0.043,0.028,-0.078,-0.011,0.033,-0.049,0.09,0.087];
assertEquals(modigliani(x,z), 0.042584556714225126);
assertEquals(modigliani(y,z), 0.013185348194299146);

Parameters

asset/portfolio values

benchmark values

optional
frisk: number

free-risk rate (def: 0)

optional
dim: 0 | 1

dimension 0: row, 1: column (def: 0)

Return Type

number

Modigliani-Modigliani measure

modigliani(
x: matrix,
y: array,
frisk?: number,
dim?: 0 | 1,
): array | matrix

Modigliani-Modigliani measure (M2).

The Modigliani-Modigliani measure (M2) is a risk-adjusted performance measure that represents the return a portfolio would have achieved if it had taken the same risk as the benchmark.

Examples

Modigliani measure for a 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(modigliani(x,y), 0.04069406485838784);

Modigliani measure for multiple assets 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];

var z = [0.04,-0.022,0.043,0.028,-0.078,-0.011,0.033,-0.049,0.09,0.087];
assertEquals(modigliani(x,z), 0.042584556714225126);
assertEquals(modigliani(y,z), 0.013185348194299146);

Parameters

asset/portfolio values

benchmark values

optional
frisk: number

free-risk rate (def: 0)

optional
dim: 0 | 1

dimension 0: row, 1: column (def: 0)

Return Type

Modigliani-Modigliani measure