Chileabolsa.com/blog
Loading

No estas registrado.

#1 13-02-13 09:45

get free
Miembro
Calificacion :   130 

PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Estimados, dado el creciente interés e inquietud por bajar y bajar datos como locos en este foro wink, y dados los recurrentes problemas para saciar esa sed de datos de forma cómoda y placentera, queda claro que las soluciones actuales no son lo suficientemente buenas.
Todo este lío de conseguirse los datos necesita de una solución más permanente, así que aquí les dejo el nuevo y mejorado PriceDownloader_Generic.
Este downloader baja datos de donde sea. Uds le dan la dirección y el formato de los datos y listo... llegar y llevar (como La Polar, sin pagar ni uno big_smile).

PriceDownloader_Generic.zip (3.7 KB)   link 1   link 2

Requerimientos de Sistema:
- Windows XP o superior (lo probé en XP y Vista, los que tengan 7 u 8 cuenten cómo les va)
- Internet Explorer 6 o superior

Ahora el archivo de configuración (donde ponen los símbolos y todo) se llama 'configs.txt'. Y están incluidos también varios archivos de configuración de ejemplo (BCS, Consorcio, Yahoo, Bloomberg).

Para usar los distintos archivos sin tener que cambiarles el nombre a configs.txt, pueden arrastrar el icono del archivo encima del icono del programa (ver figura). O también se podrían ejecutar todos los archivos de configuración de una sola vez (otro día les cuento como). Si ejecutan el programa solo, se usa por defecto el configs.txt.

scrshot6.png


Eso es todo. Igual de simple que los 2 downloaders anteriores.
De ahí pongo más configuraciones para otros datos (monedas, FFMM, Multifondos, etc..), o uds mismos aprenden con los ejemplos y entre todos las vamos haciendo.
La ventaja es que si en el futuro las direcciones o los formatos de los datos cambian (como ya sabemos que ha acurrido), solo tienen que modificar parámetros en el archivo de configuración y problema solucionado.


PD: Para enterarse sobre "los 3 clics", leer el tema del viejo downloader (post #17)


Existen 10 clases de traders: los que entienden binario y los que no.

Desconectado

#2 13-02-13 10:00

Stephen_Micardi
Miembro
Calificacion :   47 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Qué gran aportazo!!...

Muchas gracias get free...

Lo acabo de probar en windows 7 funciona perfect!! (con los datos de la BCS, Bloomberg y Yahoo Finance).

Saludos

SMic


“No confíe usted en aquellos que han encontrado ya la verdad; confíe solamente en quienes siguen buscándola” (André Kostolany)

Desconectado

#3 13-02-13 10:05

Kijote
Miembro
Calificacion :   

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Excelente compa..., te ganaste un +

Desconectado

#4 13-02-13 10:19

Fernando
Miembro
Calificacion :   81 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

FE-NO-ME-NAL así de simple. Gracias Get Free!! funciona a la perfección en Win7


“El éxito no es para los que solamente piensan que pueden hacer algo, sino para quienes, además de pensarlo, lo hacen”

Desconectado

#5 13-02-13 11:21

benjamax
Moderador
Calificacion :   95 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Aportazo¡¡¡¡¡¡

Desconectado

#6 13-02-13 11:34

Chelost
Moderador
Calificacion :   54 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Se agradece!!!


Nada...

Desconectado

#7 13-02-13 12:13

CANDANGA
Miembro
Calificacion :   

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Gran aporte.  Agradecido

Desconectado

#8 13-02-13 23:03

Rudi
Miembro
Calificacion :   

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Un  (+) como corresponde. Gracias Get.


"Si no es capaz de tomar una pequeña pérdida. Tarde o temprano se enfrentará a la madre de todas las pérdidas."
Ed Seykota.

Desconectado

#9 13-02-13 23:07

Febo
Miembro
Calificacion :   

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Maestro Get free,   nos soprende con el upgrade  del PriceDownloader, muy agradecido por su  gran  aporte.
salu2.
José

Desconectado

#10 14-02-13 00:31

get free
Miembro
Calificacion :   130 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

------------------------------------------------------------------------------------
CONFIGURACION PARA BAJAR 1 MULTIFONDO DE 1 AFP
------------------------------------------------------------------------------------

Lo primero es la dirección con sus parámetros (tipo de fondo, año de inicio, año de fin y fecha de fin):

src = http://www.spensiones.cl/apps/vcuofon/vcfAFPxls.php?tf={tf}&aaaaini={date().day(-periods).fmt('Y')}&aaaafin={date().fmt('Y')}&fecconf={date().fmt('YMD')}

El parámetro tf va a ser la variable donde pongamos el tipo de fondo que queremos:

tf = 'A'

Luego el formato de cada fila de datos (el formato de entrada). Que es una expresion regular con las partes que nos interesan entre paréntesis para capturarlas (lo demás se descarta).

format.IN = /^([\d\-]+);([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+$/

Cada fila tiene la fecha y los cierres de las 6 AFPs. Hay que saber en qué posición está cada AFP. Creemos una variable pos para poner ahí cual AFP queremos, por ej. AFP Capital que está en la posición 2 (la posición 1 es la fecha):

pos = 2

Después el formato de salida para escribir cada fila de datos en formato metastock. El formato es: símbolo,fecha,open,high,low,close,vol.
Ponemos las expresiones del OPEN y CLOSE en variables auxiliares para usarlas después:

open = {data[n-1][{pos}].trans(',.','.')}
close = {data[n][{pos}].trans(',.','.')}

data[n] representa los datos de la fila actual y data[n-1] los de la fila anterior (es decir, para el OPEN se usa el valor del dia anterior).
La parte que dice trans(',.','.') es para convertir 25.995,15 en 25995.15 (se eliminan los puntos y la coma se reemplaza por punto).

Ahora si, definimos el formato de salida usando las variables open y close recién creadas:

format.OUT = {symbol},{D[1].trans('-')},{open},{max({open},{close})},{min({open},{close})},{close},0

El HIGH es el máximo entre el OPEN y el CLOSE y el LOW el mínimo. El volumen es cero y la fecha es D[1] porque está en la primera posición (D es sinónimo de data[n], existe por comodidad).

Ahora sólo queda poner cuántos períodos queremos (el número mágico):

10

Ese número se guarda en la variable periods que se usa en el año de inicio de la dirección (ver arriba).

Y finalmente el símbolo:

Capital-{tf}

Entonces, resumiendo, el archivo queda así:

src = http://www.spensiones.cl/apps/vcuofon/vcfAFPxls.php?tf={tf}&aaaaini={date().day(-periods).fmt('Y')}&aaaafin={date().fmt('Y')}&fecconf={date().fmt('YMD')}

format.IN = /^([\d\-]+);([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+$/
format.OUT = {symbol},{D[1].trans('-')},{open},{max({open},{close})},{min({open},{close})},{close},0

open = {data[n-1][{pos}].trans(',.','.')}
close = {data[n][{pos}].trans(',.','.')}

10

tf = 'A'
pos = 2

Capital-{tf}

Mañana pongo cómo bajar todos los fondos de todas las AFPs en un solo archivo. Aunque los que ya entendieron se habrán dado cuenta que basta con poner al final tf = 'B' y repetir el símbolo, y lo mismo con la variable pos y así sucesivamente.

Good night.


Existen 10 clases de traders: los que entienden binario y los que no.

Desconectado

#11 14-02-13 00:58

Matia
Miembro
Calificacion :   34 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Gracias por el aportazo

Desconectado

#12 14-02-13 07:47

Fernando
Miembro
Calificacion :   81 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Como siempre, GENIAL. Yyyy... habrá alguna forma de evitar que salgan los fines de semana? roll a mi en realidad me da igual, porque actualizo a diario y el que actualice semanal, solo debe borrar el fin de semana y listo... pero nada se pierde con preguntar verdad? big_smile

Muchas, muchas gracias!


“El éxito no es para los que solamente piensan que pueden hacer algo, sino para quienes, además de pensarlo, lo hacen”

Desconectado

#13 14-02-13 10:15

benjamax
Moderador
Calificacion :   95 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Uta genial mal, ya nadie se puede quejar de nada, el que no aprende a usar los distintos programas es porque no quiere solamente, Se le agradece.

Desconectado

#14 14-02-13 10:25

Febo
Miembro
Calificacion :   

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

el enlace esta roto para los  dos link,  alguien mas lo puede dejar por ahí.

Desconectado

#15 14-02-13 10:29

Febo
Miembro
Calificacion :   

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

ya esta  ok
gracias.

Febo escribió:

el enlace esta roto para los  dos link,  alguien mas lo puede dejar por ahí.

Desconectado

#16 14-02-13 13:56

quix
Miembro
Calificacion :   10 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Te pasaste get free. Muchas gracias.

Desconectado

#17 14-02-13 16:57

get free
Miembro
Calificacion :   130 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Fernando escribió:

Como siempre, GENIAL. Yyyy... habrá alguna forma de evitar que salgan los fines de semana? roll a mi en realidad me da igual, porque actualizo a diario y el que actualice semanal, solo debe borrar el fin de semana y listo... pero nada se pierde con preguntar verdad? big_smile

Muchas, muchas gracias!

Se habría podido evitar los fin de semana si no fuera por un "bug" que acabo de descubrir. Le faltaron 2 caracteres al programa que justo afectan a esa parte (la mala suerte no? hmm).

Si te animas a modificarlo, los dos caracteres que faltan son un "%" después de ")%" y una "w" después de "hH" (todo sin comillas). Editas el archivo abriendolo con Bloc de Notas. Y si no, para la proxima actualización va a estar arreglado.

Y la configuración sería esta:

src = http://www.spensiones.cl/apps/vcuofon/vcfAFPxls.php?tf={tf}&aaaaini={date().day(-periods).fmt('Y')}&aaaafin={date().fmt('Y')}&fecconf={date().fmt('YMD')}

format.IN = /^(\d+)-(\d+)-(\d+);([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+$/
format.OUT = { date(D[1],D[2],D[3]).fmt('w') > 5 ? "" : "{symbol},{D[1]}{D[2]}{D[3]},{open},{max({open},{close})},{min({open},{close})},{close},0" }

open = {data[n-1][{pos}].trans(',.','.')}
close = {data[n][{pos}].trans(',.','.')}

10

tf = 'A'
pos = 4

Capital-{tf}

En rojo están los cambios relevanes. Se capturan año, mes y día por separado así que la posición de la primera AFP que era 2 pasa a ser 4.
En rojo negrita está la condición para evitar los fin de semanas (si el día de semana es mayor que 5, no se escribe nada, o sea "")


Existen 10 clases de traders: los que entienden binario y los que no.

Desconectado

#18 14-02-13 17:07

Fernando
Miembro
Calificacion :   81 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

get free escribió:
Fernando escribió:

Como siempre, GENIAL. Yyyy... habrá alguna forma de evitar que salgan los fines de semana? roll a mi en realidad me da igual, porque actualizo a diario y el que actualice semanal, solo debe borrar el fin de semana y listo... pero nada se pierde con preguntar verdad? big_smile

Muchas, muchas gracias!

Se habría podido evitar los fin de semana si no fuera por un "bug" que acabo de descubrir. Le faltaron 2 caracteres al programa que justo afectan a esa parte (la mala suerte no? hmm).

Si te animas a modificarlo, los dos caracteres que faltan son un "%" después de ")%" y una "w" después de "hH" (todo sin comillas). Editas el archivo abriendolo con Bloc de Notas. Y si no, para la proxima actualización va a estar arreglado.

Y la configuración sería esta:

src = http://www.spensiones.cl/apps/vcuofon/vcfAFPxls.php?tf={tf}&aaaaini={date().day(-periods).fmt('Y')}&aaaafin={date().fmt('Y')}&fecconf={date().fmt('YMD')}

format.IN = /^(\d+)-(\d+)-(\d+);([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+$/
format.OUT = { date(D[1],D[2],D[3]).fmt('w') > 5 ? "" : "{symbol},{D[1]}{D[2]}{D[3]},{open},{max({open},{close})},{min({open},{close})},{close},0" }

open = {data[n-1][{pos}].trans(',.','.')}
close = {data[n][{pos}].trans(',.','.')}

10

tf = 'A'
pos = 4

Capital-{tf}

En rojo están los cambios relevanes. Se capturan año, mes y día por separado así que la posición de la primera AFP que era 2 pasa a ser 4.
En rojo negrita está la condición para evitar los fin de semanas (si el día de semana es mayor que 5, no se escribe nada, o sea "")

Gracias Get... claro que me animo, no pierdo nada (tengo respaldao' ese genial programita tongue).

Gran trabajo!


“El éxito no es para los que solamente piensan que pueden hacer algo, sino para quienes, además de pensarlo, lo hacen”

Desconectado

#19 14-02-13 17:21

Fernando
Miembro
Calificacion :   81 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Y funcionó perfecto!! te deja el sábado y domingo en una linea en blanco que el meta informa al realizar la carga, pero solo a modo de información, pues al revisar la data queda todo OK. cool


“El éxito no es para los que solamente piensan que pueden hacer algo, sino para quienes, además de pensarlo, lo hacen”

Desconectado

#20 14-02-13 20:23

Hjosé
Miembro
Calificacion :   36 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

get free: Estimado un gran aporte has hecho, me ha funcionado perfecto.......... un gran abrazo

Desconectado

#21 15-02-13 00:51

get free
Miembro
Calificacion :   130 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

--------------------------------------------------------------------------------------
CONFIGURACION PARA BAJAR LOS 5 MULTIFONDOS DE LAS 6 AFPs
--------------------------------------------------------------------------------------

Quedamos en que se definia el tipo de fondo, la posicion de la AFP en la linea de datos y luego el simbolo:

tf = 'A'
pos = 2

Capital-{tf}

Pero después no sirve poner sólo otro símbolo más (por ej. Cuprum-{tf}), porque la variable symbol no aparece en la dirección (asi funciona esta fuente de datos, te da todas las AFPs juntas para un tipo de fondo), así que sólo se escribiría en el archivo de salida los mismo datos de antes pero ahora dirían Cuprum-A.

Así que antes de poner otro símbolo hay que cambiar la posición, y de ahí el símbolo:

pos = 3
Cuprum-{tf}

Y así sucesivamente con las 6 AFPs:

pos = 2
Capital-{tf}

pos = 3
Cuprum-{tf}

pos = 4
Habitat-{tf}

pos = 5
Modelo-{tf}

pos = 6
Planvital-{tf}

pos = 7
Provida-{tf}

Y luego hay que repetir todo eso pero con tf = 'B' y luego C, D, etc...
Pero para no repetir tanto, vamos a poner esta parte de las 6 AFPs con sus posiciones en un nuevo archivo que le llamamos AFPs.txt, y luego usamos ese archivo en la configuración principal así:

tf = 'A'
#include AFPs.txt

tf = 'B'
#include AFPs.txt

tf = 'C'
#include AFPs.txt

tf = 'D'
#include AFPs.txt

tf = 'E'
#include AFPs.txt

Y eso es todo. Asi descargan los 5 fondos de las 6 AFPs de un paraguazo.


Existen 10 clases de traders: los que entienden binario y los que no.

Desconectado

#22 18-02-13 15:09

Kijote
Miembro
Calificacion :   

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Tengo un problema con eso..., estoy probando con el fondo A y los primeras 2 AFP no me trae los valores:

<TICKER>,<DATE>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
CAPITAL-A,20130205,02,2,2,02,0
CAPITAL-A,20130206,02,2,2,02,0
PROVIDA-A,20130205,04,5,4,05,0
PROVIDA-A,20130206,05,6,5,06,0
HABITAT-A,20130205,27059.24,27059.24,26966.58,26966.58,0
HABITAT-A,20130206,26966.58,27012.2,26966.58,27012.20,0
MODELO-A,20130205,28121.46,28121.46,28024.14,28024.14,0
MODELO-A,20130206,28024.14,28069.82,28024.14,28069.82,0
PLANVITAL-A,20130205,28416.81,28416.81,28310.23,28310.23,0
PLANVITAL-A,20130206,28310.23,28350.72,28310.23,28350.72,0
CUPRUM-A,20130205,28017.59,28017.59,27908.25,27908.25,0
CUPRUM-A,20130206,27908.25,27964,27908.25,27964.00,0


Adjunto como tengo el scipt por el momento:

src = http://www.spensiones.cl/apps/vcuofon/vcfAFPxls.php?tf={tf}&aaaaini={date().day(-periods).fmt('Y')}&aaaafin={date().fmt('Y')}&fecconf={date().fmt('YMD')}

format.IN = /^(\d+)-(\d+)-(\d+);([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+;([^;]+);\d+$/
format.OUT = { date(D[1],D[2],D[3]).fmt('w') > 5 ? "" : "{symbol},{D[1]}{D[2]}{D[3]},{open},{max({open},{close})},{min({open},{close})},{close},0" }

open = {data[n-1][{pos}].trans(',.','.')}
close = {data[n][{pos}].trans(',.','.')}

10

tf = 'A'
pos = 2
CAPITAL-{tf}

pos = 3
PROVIDA-{tf}

pos = 4
HABITAT-{tf}

pos = 5
MODELO-{tf}

pos = 6
PLANVITAL-{tf}

pos = 7
CUPRUM-{tf}

A ver si me pueden ayudar.

Gracias.

Atte.
Kijote

Desconectado

#23 18-02-13 15:53

Fernando
Miembro
Calificacion :   81 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Kijote, las posiciones no son al azar, ni en la posición de tu preferencia, si no que se trata de la posición del archivo de donde se extraen los datos:

Las posiciones para cada AFP son las indicadas por Get Free:

get free escribió:

pos = 2
Capital-{tf}

pos = 3
Cuprum-{tf}

pos = 4
Habitat-{tf}

pos = 5
Modelo-{tf}

pos = 6
Planvital-{tf}

pos = 7
Provida-{tf}

Por ahí puede haber un error


“El éxito no es para los que solamente piensan que pueden hacer algo, sino para quienes, además de pensarlo, lo hacen”

Desconectado

#24 18-02-13 16:28

get free
Miembro
Calificacion :   130 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Kijote escribió:

Tengo un problema con eso..., estoy probando con el fondo A y los primeras 2 AFP no me trae los valores:

Estás usando el formato que evita los fin de semanas, en que las posiciones de las AFPs van de 4 a 9 en vez de 2 a 7.


Existen 10 clases de traders: los que entienden binario y los que no.

Desconectado

#25 18-02-13 16:38

Kijote
Miembro
Calificacion :   

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

get free escribió:
Kijote escribió:

Tengo un problema con eso..., estoy probando con el fondo A y los primeras 2 AFP no me trae los valores:

Estás usando el formato que evita los fin de semanas, en que las posiciones de las AFPs van de 4 a 9 en vez de 2 a 7.

Eso era compadre...., muchas gracias.

Te ganaste una estrellita..... :-)

Atte.
Kijote

Desconectado

#26 18-02-13 17:49

jopo35
Miembro
Calificacion :   

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Estimado Get free

Como siempre una increible herramienta. Con esto ya no hay excusa para no efectuar un at como dios manda. Ahora a estudiar e ir cambiando la info segun el activo que uno siga.
Muchas gracias por increible ayuda. otro + para ud de mi parte

Desconectado

#27 19-02-13 20:00

albert
Expulsado
Calificacion :   38 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

a ver quien me ayuda a configurar el programa, usando el configs_BCS2.txt


1.- necesito bajar los siguientes tickers, eso es facil pues basta ponerlos y listo:
AGUAS-A
ANDINA-B
ANTARCHILE
BANMEDICA
BCI
BESALCO
BSANTANDER
CAP
CCU
CENCOSUD
CGE
CHILE
CMPC
COLBUN
CONCHATORO
COPEC
CORPBANCA
CRUZBLANCA
ECL
EMBONOR-B
ENDESA
ENERSIS
ENTEL
FALABELLA
HABITAT
IANSA
LAN
NUEVAPOLAR
PARAUCO
PAZ
PROVIDA
QUINENCO
RIPLEY

2.- pero el precio de cierre sólo lo necesito de los últimos 10 años, cada 3 meses a contaando regresivamente desde el 20 de febrero del 2013 hasta el 20 de febrero del 2003. Es decir sólo necesito el precio de cierre de las siguientes fechas:

20/02/2003
20/05/2003
20/08/2003
20/11/2003
20/02/2004
20/05/2004
20/08/2004
20/11/2004
20/02/2005
20/05/2005
20/08/2005
20/11/2005
20/02/2006
20/05/2006
20/08/2006
20/11/2006
20/02/2007
20/05/2007
20/08/2007
20/11/2007
20/02/2008
20/05/2009
20/08/2009
20/11/2009
20/02/2010
20/05/2010
20/08/2010
20/11/2010
20/02/2011
20/05/2011
20/08/2011
20/11/2011
20/02/2012
20/05/2012
20/08/2012
20/11/2012
20/02/2013


Se puede hacer y cómo?

Desconectado

#28 19-02-13 20:10

Galr
Miembro
Calificacion :   

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

Excelente aporte un + para tí.
Sldos

Desconectado

#29 19-02-13 22:18

get free
Miembro
Calificacion :   130 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

albert escribió:

2.- pero el precio de cierre sólo lo necesito de los últimos 10 años, cada 3 meses a contaando regresivamente desde el 20 de febrero del 2013 hasta el 20 de febrero del 2003.

Y si alguna de esas fechas es fin de semana? que harías en ese caso?


Existen 10 clases de traders: los que entienden binario y los que no.

Desconectado

#30 19-02-13 23:54

get free
Miembro
Calificacion :   130 

Re: PriceDownloader_Generic: El downloader todo terreno (y en 3 clics)

--------------------------------------------------------------------------------------------
CONFIGURACION PARA BAJAR FF.MM. DE CUALQUIER ADMINISTRADORA
--------------------------------------------------------------------------------------------

La fuente de los datos es esta página: http://www.aafm.cl/estadisticas_publico … sticas.php
Hay que especificar una fecha y te da los FFMM de la administradora y del tipo especificado. Es decir, es al revés de las demás fuentes de datos que te dan un conjunto de fechas para un solo símbolo. Esta te da un conjunto de símbolos para una sola fecha, asi es que la configuración resulta algo más complicada.

Pero además en este caso resulta aun más complicada por dos problemas de Metastock:

Problema N° 1:
El largo máximo de un símbolo es de 14 caracteres (ridículo, pero así es).
Nombres como "MERCADO MONETARIO A", "MERCADO MONETARIO F", "CAPITAL FINANCIERO A", "CAPITAL FINANCIERO B" no se pueden usar. Metastock los trunca a 14 caracteres y termina mezclando símbolos que son distintos.

Problema N° 2:
Metastock no acepta los datos cuando están intercalados símbolo por símbolo, por ejemplo una linea con el OHLC de un símbolo, la siguiente con el OHLC de otro, la siguiente con otro, etc...
Solo considera la última secuencia de lineas consecutivas con el mismo símbolo (aun más ridículo, pero qué le vamos a hacer).


El primer problema lo solucionamos construyendo el símbolo con las primeras 4 letras de la administradora más las primeras 4 letras del fondo y más las últimas 4 letras del fondo. Más 2 caracteres de separación que suman los 14.

El segundo lo solucionamos escribiendo los datos a un archivo distinto por cada símbolo. En la carpeta del programa creen un carpeta que se llame "FFMM" (o pónganle como quieran, pero que coincida con la configuración) y ahí se van a crear los archivos con los datos.
En el cuadro "Convert Securities" eligen la carpeta FFMM y en nombre de archivo ponen un * (asterisco) para que lea todo lo que hay en la carpeta.

Y la configuración sería esta:

src = http://www.aafm.cl/estadisticas_publico/valor_cuota_diaria.php?orden=1&administradora={admin}&tipo={tipo}&inversion=%&dia={fecha.fmt('d')}&mes={fecha.fmt('m')}&anio={fecha.fmt('Y')}

delim = /<\/tr>\s+<tr>/
format.IN = /00">([^<]+).+?00">([^<]+).+?00">([^<]+).+?00">([^<]+).+?00">([^<]+)/
format.OUT = {D[1].clWC().slice(0,4)}-{{fundName}.slice(0,4)}_{{fundName}.slice(-4)},{fecha.fmt('YMD')},{prevClose},{max({prevClose},{close})},{min({prevClose},{close})},{close},0

fundName = "D[3].replace(/\\W/g,'')"
prevClose = {D[4].clWC().trans(',.','.')}
close = {D[5].clWC().trans(',.','.')}

outFile = FFMM\{D[1].clWC()}-{{fundName}}.txt

10

admin = 96767630
tipo = 1

range = begin: 0, end: -1

fecha = date().day(-periods)
fechaFinal = date()

{fecha.fmt('D-M-Y')}

fecha = fecha.day(+1)

#jump -2, { fecha.$ < fechaFinal.$ }

En esta configuración no se ponen símbolos porque se baja por fecha y no por símbolo. Los parámetros de la dirección son el rut de la administradora y el tipo de fondo. En la página de arriba pueden ver cuáles fondos están en cada tipo y así solo bajan los que les interesan.

Los RUT posibles son:

% = Todas
96767630 = BANCHILE
96836390 = BANCOESTADO
96815680 = BBVA
96530900 = BCI
96514410 = BICE
96758340 = CB
96966250 = CELFIN CAPITAL
96513630 = CORPBANCA
99518380 = CRUZ DEL SUR
77750920 = EUROAMERICA
99549940 = IM TRUST
96980650 = ITAU
96955500 = LARRAIN VIAL
76034728 = NEVASA
99558780 = PENTA
91999000 = PRINCIPAL
96667040 = SANTANDER ASSET MANAGEMENT
96634320 = SCOTIA
96639280 = SECURITY
76036521 = SURA
99580930 = ZURICH

Y los tipos:

% = Todos
1 = FM DE INV.EN INST.DE DEUDA DE C/P CON DURACION <= 90 DIAS
2 = FM DE INV.EN INST.DE DEUDA DE C/P CON DURACION <= 365 DIAS
3 = FM DE INV.EN INST.DE DEUDA DE MEDIANO Y LARGO PLAZO
4 = FM MIXTO
5 = FM DE INVERSION EN INSTRUMENTOS DE CAPITALIZACION
6 = FM DE LIBRE INVERSION
7 = FM ESTRUCTURADO
8 = FM DIRIGIDO A INVERSIONISTAS CALIFICADOS

El que quiera bajarse todos los fondos (más de 2000) puede poner admin = % y tipo = %, pero ármense de paciencia porque se demora un lustro.


Existen 10 clases de traders: los que entienden binario y los que no.

Desconectado

Pie de página

Powered by FluxBB