annotate tests/test_helpers.py @ 6:0f196da9af68

fix import typo
author Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
date Tue, 16 Nov 2021 17:50:59 +0100
parents ccffaf75d240
children f213aa4891fc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
1 from unittest import TestCase
6
0f196da9af68 fix import typo
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
2 from fbs.helpers import Option
1
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
3
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
4
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
5 class TestOption(TestCase):
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
6 option = Option(
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
7 spot_price=20.00,
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
8 exercise_price=21.00,
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
9 risk_free_rate=0.05,
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
10 std=0.25,
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
11 expiration=0.5 # 6 month (half year)
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
12 )
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
13
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
14 def test_compute_eu_call_price(self):
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
15 price = self.option.compute_eu_call_price()
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
16 price = round(price, 2)
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
17
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
18 self.assertEqual(price, 1.20, 'EU call price is not equal to 1.20')
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
19
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
20 def test_compute_d1(self):
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
21 d1 = self.option.compute_d1()
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
22 d1 = round(d1, 2)
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
23
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
24 self.assertEqual(d1, -0.05, 'D1 coefficient is not equal to -0.05')
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
25
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
26 def test_compute_d2(self):
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
27 d2 = self.option.compute_d2()
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
28 d2 = round(d2, 2)
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
29
b853194dc28b add methods for eu call option
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
30 self.assertEqual(d2, -0.22, 'D2 coefficient is now equal to -0.22')