import type { array, matrix } from "../types"; /** * 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. * * @param x asset/portfolio values * @param y benchmark values * @param frisk free-risk rate (def: 0) * @param dim dimension 0: row, 1: column (def: 0) * @return Modigliani-Modigliani measure * * @example Modigliani measure for a single asset vs benchmark * ```ts * 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); * * ``` * * @example Modigliani measure for multiple assets vs benchmark * ```ts * 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); * ``` */ export default function 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. * * @param x asset/portfolio values * @param y benchmark values * @param frisk free-risk rate (def: 0) * @param dim dimension 0: row, 1: column (def: 0) * @return Modigliani-Modigliani measure * * @example Modigliani measure for a single asset vs benchmark * ```ts * 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); * * ``` * * @example Modigliani measure for multiple assets vs benchmark * ```ts * 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); * ``` */ export default function modigliani(x: matrix, y: array, frisk?: number, dim?: 0 | 1): array | matrix; //# sourceMappingURL=modigliani.d.ts.map