-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstock3.py
More file actions
77 lines (35 loc) · 1.11 KB
/
stock3.py
File metadata and controls
77 lines (35 loc) · 1.11 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# -*- coding: utf-8 -*-
"""
Created on Tue Feb 10 23:55:28 2015
@author: Hiroki
"""
import pandas.io.data as pd
import numpy as np
import datetime as dt
import math
import matplotlib.pyplot as plt
import copy as cp
import scipy.stats as sci
plt.ion()
from stock_func import *
ETF = "SPY"
stock_symbols = [ETF,"AMD",'AAPL','MSFT','TSLA']
start = dt.datetime(2014, 2, 7)
end = dt.datetime(2015, 2, 6)
#s = data(stock_symbols,'yahoo')
s = get_contract(stock_symbols,1,2,2014,1,2,2015)
q = stock_data(s.values,s.items,s.major_axis,s.minor_axis)
q.dcgr()
q.norm_dcgr()
s30 = q.change_range(30)
s60 = q.change_range(60)
def monte_carlo(stock_price,alpha,std,days):
path = []
path.append(stock_price)
for day in range(days-1):
path.append(path[-1]*math.e**(alpha+std*sci.norm.ppf(random.random())))
return path
test = monte_carlo(3.03,0.0042,0.0446,30)
s30.minor_xs('AMD')['monte'] = test
test1 = pd.Series(test,index = s30.major_axis)
#print s30.sppc_pois("AMD",3.03,3.50,39)