function downsiderisk
downsiderisk(
x: number,
mar?: number,
dim?: 0 | 1,
): number

Downside Risk.

Downside risk is the semi-standard deviation of returns below a Minimum Acceptable Return (MAR)

Examples

Downside risk with default MAR

import { assertEquals } from "jsr:@std/assert";

const x = [0.003, 0.026, 0.015, -0.009, 0.014, 0.024, 0.015, 0.066, -0.014, 0.039];
assertEquals(downsiderisk(x), 0.0035355339059327385);

Downside risk with custom MAR

import { assertEquals } from "jsr:@std/assert";

assertEquals(downsiderisk([0.02, -0.01, 0.03, -0.02], 0.01), 0.007071067811865476);

Downside risk with higher MAR

import { assertEquals } from "jsr:@std/assert";

assertEquals(downsiderisk([0.1, -0.2, 0.05, -0.1], 0), 0.07071067811865477);

Parameters

x: number

array of values

optional
mar: number

minimum acceptable return (def: 0)

optional
dim: 0 | 1

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

Return Type

number

Downside Risk

downsiderisk(
x: array,
mar?: number,
dim?: 0 | 1,
): number

Downside Risk.

Downside risk is the semi-standard deviation of returns below a Minimum Acceptable Return (MAR)

Examples

Downside risk with default MAR

import { assertEquals } from "jsr:@std/assert";

const x = [0.003, 0.026, 0.015, -0.009, 0.014, 0.024, 0.015, 0.066, -0.014, 0.039];
assertEquals(downsiderisk(x), 0.0035355339059327385);

Downside risk with custom MAR

import { assertEquals } from "jsr:@std/assert";

assertEquals(downsiderisk([0.02, -0.01, 0.03, -0.02], 0.01), 0.007071067811865476);

Downside risk with higher MAR

import { assertEquals } from "jsr:@std/assert";

assertEquals(downsiderisk([0.1, -0.2, 0.05, -0.1], 0), 0.07071067811865477);

Parameters

array of values

optional
mar: number

minimum acceptable return (def: 0)

optional
dim: 0 | 1

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

Return Type

number

Downside Risk

downsiderisk(
x: matrix,
mar?: number,
dim?: 0 | 1,
): array | matrix

Downside Risk.

Downside risk is the semi-standard deviation of returns below a Minimum Acceptable Return (MAR)

Examples

Downside risk with default MAR

import { assertEquals } from "jsr:@std/assert";

const x = [0.003, 0.026, 0.015, -0.009, 0.014, 0.024, 0.015, 0.066, -0.014, 0.039];
assertEquals(downsiderisk(x), 0.0035355339059327385);

Downside risk with custom MAR

import { assertEquals } from "jsr:@std/assert";

assertEquals(downsiderisk([0.02, -0.01, 0.03, -0.02], 0.01), 0.007071067811865476);

Downside risk with higher MAR

import { assertEquals } from "jsr:@std/assert";

assertEquals(downsiderisk([0.1, -0.2, 0.05, -0.1], 0), 0.07071067811865477);

Parameters

array of values

optional
mar: number

minimum acceptable return (def: 0)

optional
dim: 0 | 1

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

Return Type

Downside Risk