import numpy from pandas.io.data import DataReader from datetime import datetime import matplotlib.pyplot as plt alfa = DataReader('AMXL.MX', 'yahoo', datetime(2015, 4, 9), datetime(2016, 4, 9)) alfa = alfa['Adj Close'] logalfa = numpy.log(alfa.astype('float64') / alfa.astype('float64').shift(1)) logalfa = logalfa[1:len(logalfa)] ralfa = numpy.mean(logalfa) valfa = numpy.std(logalfa) "parametros entrada" mu = ralfa #Rendimiento esperado el activo sigma = valfa #Volatilidad del rendimiento del activo St = alfa[len(alfa) - 1] #Precio Spot Te = 50 #Tiempo Final tipo = 1 strike = 14.5 n = 1000 def intesto(mu, sigma, Te, n, tipo, st): dt = .01 k = round(Te / dt) dB = numpy.sqrt(dt) * numpy.random.normal(0, 1, (n, k)) Res = numpy.random.rand(n, k + 1) Res[:, 0] = st
datetime(2016, 2, 26)) alfa = alfa['Adj Close'] pinfra = DataReader('PINFRA.MX', 'yahoo', datetime(2015, 2, 26), datetime(2016, 2, 26)) pinfra = pinfra['Adj Close'] alpeka = DataReader('ALPEKA.MX', 'yahoo', datetime(2015, 2, 26), datetime(2016, 2, 26)) alpeka = alpeka['Adj Close'] sanmexb = DataReader('SANMEXB.MX', 'yahoo', datetime(2015, 2, 26), datetime(2016, 2, 26)) sanmexb = sanmexb['Adj Close'] gfinburo = DataReader('GFINBURO.MX', 'yahoo', datetime(2015, 2, 26), datetime(2016, 2, 26)) gfinburo = gfinburo['Adj Close'] ralfa = numpy.log(alfa.astype('float64') / alfa.astype('float64').shift(1)) rpinfra = numpy.log( pinfra.astype('float64') / pinfra.astype('float64').shift(1)) ralpeka = numpy.log( alpeka.astype('float64') / alpeka.astype('float64').shift(1)) rsanmexb = numpy.log( sanmexb.astype('float64') / sanmexb.astype('float64').shift(1)) rgfinburo = numpy.log( gfinburo.astype('float64') / gfinburo.astype('float64').shift(1)) rendimientos = numpy.matrix([ ralfa[1:len(ralfa)], rpinfra[1:len(rpinfra)], ralpeka[1:len(ralpeka)], rsanmexb[1:len(rsanmexb)], rgfinburo[1:len(rgfinburo)] ])
import numpy import math from pandas.io.data import DataReader from datetime import datetime from scipy.stats import norm alfa = DataReader('ALFAA.MX', 'yahoo', datetime(2015, 4, 9), datetime(2016, 4, 9)) alfa = alfa['Adj Close'] pinfra = DataReader('PINFRA.MX', 'yahoo', datetime(2015, 4, 9), datetime(2016, 4, 9)) pinfra = pinfra['Adj Close'] ipc = DataReader('^MXX', 'yahoo', datetime(2015, 4, 9), datetime(2016, 4, 9)) ipc = ipc['Adj Close'] logalfa = numpy.log(alfa.astype('float64') / alfa.astype('float64').shift(1)) logpinfra = numpy.log( pinfra.astype('float64') / pinfra.astype('float64').shift(1)) logipc = numpy.log(ipc.astype('float64') / ipc.astype('float64').shift(1)) ralfa = numpy.mean(logalfa[1:len(logalfa)]) rpinfra = numpy.mean(logpinfra[1:len(logpinfra)]) ripc = numpy.mean(logipc[1:len(logipc)]) valfa = numpy.std(logalfa[1:len(logalfa)]) vpinfra = numpy.std(logpinfra[1:len(logpinfra)]) vipc = numpy.std(logipc[1:len(logipc)]) "parametros entrada" r = ripc #Rendimiento esperado el activo
#act21 = DataReader('NEMAKA.MX', 'yahoo', datetime(2013,1,3), datetime(2014,12,8)) #act21 = act21['Adj Close'] act22 = DataReader('OHLMEX.MX', 'yahoo', datetime(2013,1,3), datetime(2014,12,8)) act22 = act22['Adj Close'] act23 = DataReader('OMAB.MX', 'yahoo', datetime(2013,1,3), datetime(2014,12,8)) act23 = act23['Adj Close'] #act24 = DataReader('PE&OLES.MX', 'yahoo', datetime(2013,1,3), datetime(2014,12,8)) #act24 = act24['Adj Close'] act25 = DataReader('SANMEXB.MX', 'yahoo', datetime(2013,1,3), datetime(2014,12,8)) act25 = act25['Adj Close'] act26 = DataReader('SIMECB.MX', 'yahoo', datetime(2013,1,3), datetime(2014,12,8)) act26 = act26['Adj Close'] #act27 = DataReader('SITESL.MX', 'yahoo', datetime(2013,1,3), datetime(2014,12,8)) #act27 = act27['Adj Close'] log1=numpy.log(act1.astype('float64')/act1.astype('float64').shift(1)) log2=numpy.log(act2.astype('float64')/act2.astype('float64').shift(1)) log3=numpy.log(act3.astype('float64')/act3.astype('float64').shift(1)) log4=numpy.log(act4.astype('float64')/act4.astype('float64').shift(1)) log5=numpy.log(act5.astype('float64')/act5.astype('float64').shift(1)) log6=numpy.log(act6.astype('float64')/act6.astype('float64').shift(1)) log7=numpy.log(act7.astype('float64')/act7.astype('float64').shift(1)) log8=numpy.log(act8.astype('float64')/act8.astype('float64').shift(1)) log9=numpy.log(act9.astype('float64')/act9.astype('float64').shift(1)) log10=numpy.log(act10.astype('float64')/act10.astype('float64').shift(1)) log11=numpy.log(act11.astype('float64')/act11.astype('float64').shift(1)) log12=numpy.log(act12.astype('float64')/act12.astype('float64').shift(1)) log13=numpy.log(act13.astype('float64')/act13.astype('float64').shift(1)) log14=numpy.log(act14.astype('float64')/act14.astype('float64').shift(1)) log15=numpy.log(act15.astype('float64')/act15.astype('float64').shift(1)) log16=numpy.log(act16.astype('float64')/act16.astype('float64').shift(1))