-
Notifications
You must be signed in to change notification settings - Fork 2
/
test-ad.py
41 lines (32 loc) · 1.25 KB
/
test-ad.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import numpy as np
import taft
hi = np.array([
62.34,62.05,62.27,60.79,59.93,61.75,60.00,59.00,59.07,59.22,58.75,58.65,58.47,58.25,58.35,59.86,59.53,62.10,62.16,62.67,62.38,63.73,63.85,66.15,65.34,66.48,65.23,63.40,63.18,62.70
])
lo = np.array([
61.37,60.69,60.10,58.61,58.7120,59.86,57.97,58.02,57.48,58.30,57.83,57.86,57.91,57.83,57.53,58.58,58.30,58.53,59.80,60.93,60.15,62.26,63.00,63.58,64.07,65.20,63.21,61.88,61.11,61.25
])
cl = np.array([
62.15,60.81,60.45,59.18,59.24,60.20,58.48,58.24,58.69,58.65,58.47,58.02,58.17,58.07,58.13,58.94,59.10,61.92,61.37,61.68,62.09,62.89,63.53,64.01,64.77,65.22,63.28,62.40,61.55,62.69
])
vo = np.array([
7849.0250,11692.0750,10575.3070,13059.1280,20733.5080,29630,17705,7259,10475,5204,3423,3962,4096,3766,4239,8040,6957,18172,22226,14614,12320,15008,8880,22694,10192,10074,9412,10392,8927,7460
])
hi = hi[::-1]
lo = lo[::-1]
cl = cl[::-1]
vo = vo[::-1]
ratesLen = len(cl)
ad = []
for i in range( ratesLen ):
ad.append( 0 )
prev = None
for i in range( ratesLen-1, -1, -1 ):
ad[i] = taft.ad( shift=i, hi=hi, lo=lo, cl=cl, vo=vo, prev=prev )
prev = ad[i]
for i in range( ratesLen-1,-1,-1 ):
prefix = str(i) + ": "
if ad[i] is None:
print prefix + "N/A"
else:
print prefix + "close=" + str(cl[i]) + ", AD=" + str(ad[i])