No estas registrado.
Hola Get, estuve un poco alejado del foro pero aquí vengo nuevamente a molestar, existe una forma de modificar el script para que baje la data de las acciones de BCS y/o Consorcio en archivos individuales para cada papel?
Saludos
Solo sé que nada sé y ni de eso estoy seguro.
Desconectado
me respondo yo mismo, por si a alguien más le sirve, la solución fue agregar:
outFile = {symbol}.txt
Saludos
Solo sé que nada sé y ni de eso estoy seguro.
Desconectado
Get, buen día.
He descargado los valores cuota de los FFMM pero han bajado erroneos. Al parecer la dirección URL ha cambiado la forma de generar la consulta y la he actualizado en el código de la siguiente forma
Pero aún así me baja los datos en un formato erroneo por lo que imagino que deben modificarse más parametros del código. Por favor me podrias ayudar con este punto?
De antemano muchas gracias.
Desconectado
La URL anterior aun funciona. Lo que cambió fue que agregaron la columna "Serie", que antes era parte del nombre del fondo.
La nueva configuración es esta:
src = http[color=]:[/color]//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')}
header += ,<name>
delim = /<\/tr>\s+<tr>/
format.IN = /00">([^<]+).+?00">([^<]+).+?00">([^<]+).+?00">([^<]+).+?00">([^<]+).+?00">([^<]+)/
format.OUT = {fundSymbol},{fecha.fmt('YMD')},{prevClose},{max({prevClose},{close})},{min({prevClose},{close})},{close},0,{fundName}name = {D[3].clWC().replace(/[^\w\s]/g,'')} {D[4].replace(/unica/i,'')}
fundSymbol = {D[2].clWC().slice(0,4)}-{'{name}'.replace(/\W/g,'').slice(0,4)}-{'{name}'.replace(/\W/g,'').slice(-4)}
prevClose = {D[5].clWC().trans(',.','.')}
close = {D[6].clWC().trans(',.','.')}
fundName = {D[1].clWC().slice(0,15)} - {'{name}'.clWC().replace(/[^\w\s]/g,'')}outFile = FFMM\{fundName}.txt
10
admin = 96767630
tipo = 1range = begin: 0, end: -1
fecha = date().day(-periods)
fechaFinal = date(){fecha.fmt('D-M-Y')}
fecha = fecha.day(+1)
#jump -2, { fecha.$ < fechaFinal.$ }
Existen 10 clases de traders: los que entienden binario y los que no.
Desconectado
Get,
Muchas gracias por tu ayuda. He actualizado el código y funciona, pero me ha pasado algo raro.
Al momento de descargar la data de Consorcio la aplicación me entrega un único TXT donde se encuentran todos los valores cuotas de los FFMM juntos. Pero al hacerlo con los datos de CorpBanca me entrega un TXT por cada FFMM (116 TXTs) en vez de un único archivo con todos los fondos como Consorcio.
¿Tu sabes porque sucede eso?
De antemano muchas gracias por tu ayuda.
Desconectado
No entendí mucho. A qué te refieres con "descargar los datos de Corpbanca"? No hay ninguna configuracion para bajar FFMM desde Corpbanca.
A menos que tu te hayas hecho una, y en ese caso habría que verla para ver qué problema tiene.
Existen 10 clases de traders: los que entienden binario y los que no.
Desconectado
No entendí mucho. A qué te refieres con "descargar los datos de Corpbanca"? No hay ninguna configuracion para bajar FFMM desde Corpbanca.
A menos que tu te hayas hecho una, y en ese caso habría que verla para ver qué problema tiene.
Sip. CorpBanca tiene el código 96513630.
Lo que te decia es que cuando bajo la data de Consorcio-Larrain Vial, la aplicación me deja un solo archivo TXT en la carpeta "FFMM"
Pero cuando descargo la data de CorpBanca me deja multiples TXTs en la carpeta "FFMM" con el nombre de cada ffmm que tienen. Antes me dejaba tambien un solo TXT.
Sabes porque sucede eso?
Desconectado
Lo normal es que la configuracion de FFMM genere archivos separados para cada fondo. Está hecha para que sea así (hay que hacerlo de esa forma por algunas limitaciones de Metastock que expliqué en su momento).
Por lo tanto, si en algun caso te genera un solo archivo, hay un problema ahí, no debería pasar eso.
Postea la configuración exacta que te genera ese archivo único para ver cual es el problema.
Existen 10 clases de traders: los que entienden binario y los que no.
Desconectado
Para mi es espectacular que genere un solo archivo con todos los FFMM porque así le pido a MetaStock que cargue un solo archivo. Lo latoso es cuando los separa porque tengo que ir uno por uno actualizandolos.
Si pudieras indicarme la modificación para que los baje todos los fondos en un archivo unico para mi seria la ostia.
Saludos y gracias de antemano.
Desconectado
Le faltó leer un poco estimado.
Post #30, cito:
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.
No hay que ir uno por uno. Eso sería un suplicio.
Existen 10 clases de traders: los que entienden binario y los que no.
Desconectado
La URL anterior aun funciona. Lo que cambió fue que agregaron la columna "Serie", que antes era parte del nombre del fondo.
La nueva configuración es esta:src = http[color=]:[/color]//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')}
header += ,<name>
delim = /<\/tr>\s+<tr>/
format.IN = /00">([^<]+).+?00">([^<]+).+?00">([^<]+).+?00">([^<]+).+?00">([^<]+).+?00">([^<]+)/
format.OUT = {fundSymbol},{fecha.fmt('YMD')},{prevClose},{max({prevClose},{close})},{min({prevClose},{close})},{close},0,{fundName}name = {D[3].clWC().replace(/[^\w\s]/g,'')} {D[4].replace(/unica/i,'')}
fundSymbol = {D[2].clWC().slice(0,4)}-{'{name}'.replace(/\W/g,'').slice(0,4)}-{'{name}'.replace(/\W/g,'').slice(-4)}
prevClose = {D[5].clWC().trans(',.','.')}
close = {D[6].clWC().trans(',.','.')}
fundName = {D[1].clWC().slice(0,15)} - {'{name}'.clWC().replace(/[^\w\s]/g,'')}outFile = FFMM\{fundName}.txt
10
admin = 96767630
tipo = 1range = begin: 0, end: -1
fecha = date().day(-periods)
fechaFinal = date(){fecha.fmt('D-M-Y')}
fecha = fecha.day(+1)
#jump -2, { fecha.$ < fechaFinal.$ }
Estimado Get,
Primero que nada agradecerte por el tremendo aportazo que significa el Downloader sin el cual no podriamos seguir el tema accionario y FFMM, entre otros.
consulta, despues de este último cambio de configuración al bajar los archivos de FFMM de banchile y subirlos al meta, les ha cambiado los nombres y ahora comienzan con un numero y luego la glosa segun el tipo de FFMM con esto se crearon nuevos charts y no me reconoce los antiguos... que puedo hacer para que se sigan creando bajo el mismo nombre?? o sino tendré que dejarlos asi pero cambiar la data a la fecha de los anteriores, pero perderia el analisis que he hecho en ellos...
saludos
Desconectado
Lee los post #30, #36, #37, #39, #40 y luego me dices cuál de las dos configuraciones estas usando, la original o la corregida.
Existen 10 clases de traders: los que entienden binario y los que no.
Desconectado
La URL anterior aun funciona. Lo que cambió fue que agregaron la columna "Serie", que antes era parte del nombre del fondo.
La nueva configuración es esta:src = http[color=]:[/color]//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')}
header += ,<name>
delim = /<\/tr>\s+<tr>/
format.IN = /00">([^<]+).+?00">([^<]+).+?00">([^<]+).+?00">([^<]+).+?00">([^<]+).+?00">([^<]+)/
format.OUT = {fundSymbol},{fecha.fmt('YMD')},{prevClose},{max({prevClose},{close})},{min({prevClose},{close})},{close},0,{fundName}name = {D[3].clWC().replace(/[^\w\s]/g,'')} {D[4].replace(/unica/i,'')}
fundSymbol = {D[2].clWC().slice(0,4)}-{'{name}'.replace(/\W/g,'').slice(0,4)}-{'{name}'.replace(/\W/g,'').slice(-4)}
prevClose = {D[5].clWC().trans(',.','.')}
close = {D[6].clWC().trans(',.','.')}
fundName = {D[1].clWC().slice(0,15)} - {'{name}'.clWC().replace(/[^\w\s]/g,'')}outFile = FFMM\{fundName}.txt
10
admin = 96767630
tipo = %range = begin: 0, end: -1
fecha = date().day(-periods)
fechaFinal = date(){fecha.fmt('D-M-Y')}
fecha = fecha.day(+1)
#jump -2, { fecha.$ < fechaFinal.$ }
Me funciono de maravillas..., solo hay que tener ojo con la variable TIPO = 1...., se debe dejar TIPO = %..., para que los baje todos de un corredora.
Gracias Get.
Atte.
Kijote.
Desconectado
Buenas Noches,
He leido muchos de los posts en varios hilos y realmente excelente, los felicito a todos. Estimados el script para bajar los historicos de las AFP permite filtrar los fines de semana gracias a un ajuste del muy buen programador Get free, aqui les dejo una modificacion al script que baja los FFMM que permite tambien filtrar los fines de semana.
Get Free hice una ingenieria de reverso para llegar a este script, te pido lo revises y me hagas tus sugerencias (yo realmente apesto como programador)
header += ,<name>
delim = /<\/tr>\s+<tr>/
format.IN = /00">([^<]+).+?00">([^<]+).+?00">([^<]+).+?00">([^<]+).+?00">([^<]+).+?00">([^<]+)/
format.OUT = { date({Dia},{Mes},{Anio}).fmt('w') >= 5 ? " " : "{fundSymbol},{fecha.fmt('YMD')},{prevClose},{max({prevClose},{close})},{min({prevClose},{close})},{close},0" }
fundSymbol = {D[2].clWC().slice(0,4)}-{D[2].clWC().slice(7,8)}S{D[4].clWC().trans(',.','.')}
prevClose = {D[5].clWC().trans(',.','.')}
close = {D[6].clWC().trans(',.','.')}
fundName = {D[1].clWC().slice(0,15)} - {D[3].clWC().replace(/[^\w\s]/g,'')}
Serie = {D[4].clWC().trans(',.','.')}
Dia = {fecha.fmt('d')}
Mes = {fecha.fmt('m')}
Anio = {fecha.fmt('Y')}
outFile = D:\Ajuste Fondos\Price_Downloader\FFMM\{fundName}_{Serie}.txt
7
admin = %
tipo = %
range = begin: 0, end: -1
fecha = date().day(-periods)
fechaFinal = date()
{fecha.fmt('D-M-Y')}
fecha = fecha.day(+1)
#jump -2, { fecha.$ < fechaFinal.$ }
Tengo una duda, porque en este caso al comparar la fecha (>= 5) tuve que validar que fuese mayor o igual a 5 para que descartara el sabado y en el script de los fondos de las AFP la comparacion es (> 5 ) y en ese caso si excluye el sabado? Hay algo que no esta bien? Inicialmente lo hice (> 5) y vi que bajaba los sabados :-( asi que para parchar lo cambie a (>= 5).
Por favor, dale una vuelta y me das tus comentarios.
Mucho Exito!!!
JCR
Desconectado
PD: Este script no incluye tu ultima version en la que agregas la columna 6. Yo habia hecho un cambio y no alcance a compartirlo.
Sl2
JCR
Desconectado
Hola GET necesito de tu ayuda, he modificado el script para descargar datos intraday:
src = http://www.bolsadesantiago.com/theme/DatosGraficos/Intraday.aspx?Symbol={symbol.trans(' ','_')}&Period=intraday_1
Y me da como resultado por ejemplo un archivo con este contenido:
<TICKER>,<DATE>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
AESGENER,20150318,093002,332.500,332.500,332.500,332.500,0
AESGENER,20150318,093102,332.500,332.500,332.500,332.500,0
AESGENER,20150318,093202,332.500,332.500,332.500,332.500,0
AESGENER,20150318,093303,332.500,332.500,332.500,332.500,0
AESGENER,20150318,093402,332.500,332.500,332.500,332.500,0
AESGENER,20150318,093502,332.500,332.500,332.500,332.500,0
AESGENER,20150318,093602,332.500,332.500,332.500,332.500,0
AESGENER,20150318,093702,332.500,332.500,332.500,332.500,2741
AESGENER,20150318,093802,332.500,332.500,332.500,332.500,2908
AESGENER,20150318,093903,332.500,332.500,332.500,332.500,0
AESGENER,20150318,094003,332.500,332.500,332.500,332.500,0
AESGENER,20150318,094103,332.500,332.500,332.500,332.500,0
AESGENER,20150318,094202,332.500,332.500,332.500,332.500,0
AESGENER,20150318,094303,332.500,332.500,332.500,332.500,0
AESGENER,20150318,094402,332.500,332.500,332.500,332.500,0
AESGENER,20150318,094502,332.500,332.500,332.500,332.500,2121
Pero aquí se me presentan dos cosas, como lo puedo modificar para que solo recoja los datos cuando hay volumen y lo otro, como le agrego la columna (etiqueta) <TIME> en la primera fila entre <DATE> y <OPEN>.
No se si puede hacer lo que quiero a ver si me pudieras echar una mano te lo agradecería.
Saludos
Solo sé que nada sé y ni de eso estoy seguro.
Desconectado
Estimados,
Estuve haciendo pruebas con volumenes de datos y el script no funciona, falla el filtro de dias de fin de semana. GET FREE HELP!!! Algo no esta bien en la construccion de la fecha para compararla con el dia de la semana (>5) pero no identifico que pueda ser.
Yo voy a seguir intentando a ver donde esta el error, si tienes alguna sugerencia soy todo ojos !!!
De antemano muchas gracias,
JCR
Desconectado
Estimados,
Estuve haciendo pruebas con volumenes de datos y el script no funciona, falla el filtro de dias de fin de semana. GET FREE HELP!!! Algo no esta bien en la construccion de la fecha para compararla con el dia de la semana (>5) pero no identifico que pueda ser.
Yo voy a seguir intentando a ver donde esta el error, si tienes alguna sugerencia soy todo ojos !!!
De antemano muchas gracias,
JCR
Los fines de semana solo se fueden filtrar si se le hace una pequeña corrección al programa, que expliqué en el post #17.
Si pudiste hacer esa corrección, entonces a la configuración del post #244 cámbiale la última linea por esta:
#jump {fecha.fmt('w') > 5 ? -1 : -2}, { fecha.$ < fechaFinal.$ }
Existen 10 clases de traders: los que entienden binario y los que no.
Desconectado
Hola GET necesito de tu ayuda, he modificado el script para descargar datos intraday:
src = http://www.bolsadesantiago.com/theme/DatosGraficos/Intraday.aspx?Symbol={symbol.trans(' ','_')}&Period=intraday_1
Y me da como resultado por ejemplo un archivo con este contenido:
<TICKER>,<DATE>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
AESGENER,20150318,093002,332.500,332.500,332.500,332.500,0
AESGENER,20150318,093102,332.500,332.500,332.500,332.500,0
AESGENER,20150318,093202,332.500,332.500,332.500,332.500,0
AESGENER,20150318,093303,332.500,332.500,332.500,332.500,0
AESGENER,20150318,093402,332.500,332.500,332.500,332.500,0
AESGENER,20150318,093502,332.500,332.500,332.500,332.500,0
AESGENER,20150318,093602,332.500,332.500,332.500,332.500,0
AESGENER,20150318,093702,332.500,332.500,332.500,332.500,2741
AESGENER,20150318,093802,332.500,332.500,332.500,332.500,2908
AESGENER,20150318,093903,332.500,332.500,332.500,332.500,0
AESGENER,20150318,094003,332.500,332.500,332.500,332.500,0
AESGENER,20150318,094103,332.500,332.500,332.500,332.500,0
AESGENER,20150318,094202,332.500,332.500,332.500,332.500,0
AESGENER,20150318,094303,332.500,332.500,332.500,332.500,0
AESGENER,20150318,094402,332.500,332.500,332.500,332.500,0
AESGENER,20150318,094502,332.500,332.500,332.500,332.500,2121Pero aquí se me presentan dos cosas, como lo puedo modificar para que solo recoja los datos cuando hay volumen y lo otro, como le agrego la columna (etiqueta) <TIME> en la primera fila entre <DATE> y <OPEN>.
No se si puede hacer lo que quiero a ver si me pudieras echar una mano te lo agradecería.
Saludos
src = http[color=]:[/color]//www.bolsadesantiago.com/theme/DatosGraficos/Intraday.aspx?Symbol={symbol.trans(' ','_')}&Period=intraday_1
header = <TICKER>,<DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
format.IN = /^([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+)$/
format.OUT = { +D[7] ? '{symbol},{D[0]}' : '' }9999
LAN
CAP
Existen 10 clases de traders: los que entienden binario y los que no.
Desconectado
Muchas gracias GET sos grosso
Una consulta extra, el archivo queda con varias lineas en blanco, hay forma de evitar eso? gracias nuevamente por tu grandísimo aporte.
Solo sé que nada sé y ni de eso estoy seguro.
Desconectado
GET al cambiar las columnas en los FFMM, tengo problemas al hacer el filtro por fondos, tenia lo siguiente pero ya no funciona:
format.OUT = {List[D[3].clWC()] ? "{fundSymbol},{fecha.fmt('YMD')},{prevClose},{max({prevClose},{close})},{min({prevClose},{close})},{close},0,{fundName}" : "" }
List = "PRINCIPAL VISION G":1
Con la modificación (agregaron la columna serie) , como quedaría el format.OUT ?
Gracias
PD. La lógica me dice que debería ir List[D[3].clWC()] y List[D[4].clWC()] concatenado pero no se hacerlo.
Solo sé que nada sé y ni de eso estoy seguro.
Desconectado
Muchas gracias GET sos grosso
Una consulta extra, el archivo queda con varias lineas en blanco, hay forma de evitar eso? gracias nuevamente por tu grandísimo aporte.
Nop. Ese es un error en el programa que tengo pendiente arreglar algún dia.
Existen 10 clases de traders: los que entienden binario y los que no.
Desconectado
GET al cambiar las columnas en los FFMM, tengo problemas al hacer el filtro por fondos, tenia lo siguiente pero ya no funciona:
format.OUT = {List[D[3].clWC()] ? "{fundSymbol},{fecha.fmt('YMD')},{prevClose},{max({prevClose},{close})},{min({prevClose},{close})},{close},0,{fundName}" : "" }
List = "PRINCIPAL VISION G":1
Con la modificación (agregaron la columna serie) , como quedaría el format.OUT ?
Gracias
PD. La lógica me dice que debería ir List[D[3].clWC()] y List[D[4].clWC()] concatenado pero no se hacerlo.
En la configuracion del post #244, la variable "name" contiene el nombre con las dos columnas fucionadas. Asi que tendrías que poner List[name]
Existen 10 clases de traders: los que entienden binario y los que no.
Desconectado
GET gracias por responder pero no me resulta, mira así dejé el archivo:
format.OUT = {List[name] ? "{fundSymbol},{fecha.fmt('YMD')},{prevClose},{max({prevClose},{close})},{min({prevClose},{close})},{close},0,{fundName}" : "" }
List = "BANCHILE FLEXIBLE":1, "BANCHILE CAPITAL FINANCIERO A":1, "BANCHILE PATRIMONIAL A":1
10
admin = 96767630
tipo = %
Que estoy haciendo mal?
Solo sé que nada sé y ni de eso estoy seguro.
Desconectado
Intenta con List[ '{name}'.clWC() ]
Existen 10 clases de traders: los que entienden binario y los que no.
Desconectado
No hay caso no quiere funcionar
Solo sé que nada sé y ni de eso estoy seguro.
Desconectado
Lo solucioné
format.OUT ={List['{fundName}'.clWC()] ?
con
List = "BANCHILE - FLEXIBLE":1, "BANCHILE - CAPITAL FINANCIERO A":1, "BANCHILE - PATRIMONIAL A":1
Saludos
Solo sé que nada sé y ni de eso estoy seguro.
Desconectado
Hola GET FREE aquí nuevamente molestando, hay algunos nombres de fondos que tienen tilde, me gustaría que no se elimine esa letra, como quedaría este dato:
{D[3].clWC().replace(/[^\w\s]/g,'')}
Gracias
Solo sé que nada sé y ni de eso estoy seguro.
Desconectado
Muchas Gracias estimado GET!!! Funciona perfecto y filtra los fines de semana. Invaluable la informacion y apoyo que existe en este foro!!!
Sl2
JCR
Desconectado
Hola GET FREE aquí nuevamente molestando, hay algunos nombres de fondos que tienen tilde, me gustaría que no se elimine esa letra, como quedaría este dato:
{D[3].clWC().replace(/[^\w\s]/g,'')}
Gracias
Intenta con D[3].clWC().replace(/[^\w\s\xc0-\xff]/g,'')
Existen 10 clases de traders: los que entienden binario y los que no.
Desconectado