Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- np.random.seed(1)
- tickers = ['AAPL', 'GOOGL', 'AMZN']
- num_portfs = 5
- returns = np.array([])
- shape = np.genfromtxt('data/AAPL.csv', delimiter=",")[:,4].shape[0] - 1
- pt_change = np.zeros(shape)
- for ticker in tickers:
- data = np.genfromtxt('data/%s.csv'%ticker, delimiter=",")
- close = data[:250,4]
- close = close[::-1]
- diff = np.nan_to_num(np.diff(close) / close[:-1])
- returns = np.append(returns, np.sum(diff))
- pt_change = np.c_[pt_change, diff[::-1]]
- pt_change = pt_change[:,1:]
- cov = np.cov(pt_change.T)
- weights = np.random.rand(num_portfs,len(tickers))
- weights = (weights.T/weights.sum(axis=1)).T
- returns = (weights*returns).sum(axis=1)
- std = np.sqrt(weights.T*cov*weights)
- print(std)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement