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
Ejemplo n.º 2
0
                  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)]
])

Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
#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))