Autor Tema: Trabajo en Python

0 Usuarios y 1 Visitante están viendo este tema.

15 Enero, 2016, 10:35 am
Leído 2577 veces

pepeluoman

  • Nuevo Usuario
  • Mensajes: 22
  • Karma: +0/-0
  • Sexo: Masculino
Buenas a todos , me han mandado en la carrera un trabajo en Python opcional pero el problema es que no han explicado el python y tenemos poco tiempo y con los examenes no me da tiempo a ponerme a mirar como se usa Python y demas, me gustaría que me ayudarais un poco al menos con las funciones principales que me digan para poder entregarle algo al profesor ya que me juego la matrícula con el trabajo y economicamente me vendría muy bien.

Este sería el trabajo :

Las empresas que cotizan en bolsa tienen un código que identifica a esa empresa.

Algunos ejemplos son: Exxon Mobil Corporation (XOM), Wal-Mart Stores Inc. (WMT), Ford Motor Co. (F), GENERAL ELECTRIC (GEC.DU), Alphabet Inc. (GOOG), Microsoft (MSFT), Apple Inc. (AAPL) y Oracle Corporation (ORCL) .

Crear un programa en python que contenga un menu con las siguientes opciones:

Extraer de la página de yahoo las cotizaciones de los últimos 15 meses de una empresa  a partir de su código (ver Obtencion de datos de acciones desde yahoo) y guardar en un fichero con nombre "codigo_de_la_empresa.datos" los campos "fecha", "close", "volume".
print time.strftime("%d/%m/%Y")
Ver códigos y fechas (inicial-final) de los fichero CODIGO.datos que tengamos.
import os
os.listdir('.')
Cotización un día concreto de una lista de empresas.
Cotizaciónes máxima y mínima de una lista de empresas entre dos fechas dadas.
"fecha", "close", "volume" de una empresa un día concreto.
Gráfica con las cotizaciones desde una fecha a otra fecha dada.
Comparativa de gráficas de cotizaciones de dos empresas desde una fecha a otra fecha dada.





Obtención de datos de acciones desde yahoo

http://finance.yahoo.com/q/hp?s=GOOG&a=00&b=27&c=2014&d=09&e=16&f=2015&g=d
Descarga datos de la empresa Google

http://ichart.finance.yahoo.com/table.csv?s=GOOG&a=00&b=27&c=2014&d=09&e=16&f=2015&g=d
De General Motors

http://ichart.finance.yahoo.com/table.csv?s=GM&a=00&b=27&c=2014&d=09&e=16&f=2015&g=d
Ford

http://ichart.finance.yahoo.com/table.csv?s=FORD&a=00&b=27&c=2014&d=09&e=16&f=2015&g=d
El código de las diferente compañías puede buscarse en http://finance.yahoo.com/
Para obtener el fichero desde python podemos ejecutar las siguientes órdenes:

import urllib2

respuesta=urllib2.urlopen('http://ichart.finance.yahoo.com/table.csv?d=6&e=1&f=2009&g=d&a=7&b=19&c=2004%20&ignore=.csv&s=AAPL')

datos=respuesta.read()

respuesta.close()

La variable datos almacena ahora el contenido de los datos

Otras formas de descargar:

http://www.quantshare.com/sa-43-10-ways-to-download-historical-stock-quotes-data-for-free

Muchas gracias por adelantado y cualquier ayuda lo agradecería.

José Luis.

15 Enero, 2016, 11:43 am
Respuesta #1

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 46,750
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Hola

Buenas a todos , me han mandado en la carrera un trabajo en Python opcional pero el problema es que no han explicado el python y tenemos poco tiempo y con los examenes no me da tiempo a ponerme a mirar como se usa Python y demas, me gustaría que me ayudarais un poco al menos con las funciones principales que me digan para poder entregarle algo al profesor ya que me juego la matrícula con el trabajo y económicamente me vendría muy bien.

El objetivo del foro no es hacer las tareas a nadie.

Así que, si pretendes que alguien te de algo que entregar sin que tengas ni idea de Python, aquí no lo encontarás.

Dejo el hilo abierto por si alguien quiere darte una orientación sobre como realizar el trabajo, pero nada que sea suficiente para ser entregado por si sólo.

Saludos.

15 Enero, 2016, 11:45 am
Respuesta #2

pepeluoman

  • Nuevo Usuario
  • Mensajes: 22
  • Karma: +0/-0
  • Sexo: Masculino
Buenas el_manco , mi objetivo no es que me lo den todo hecho para nada, solamente que me digan como empezar con lo de las cotizaciones para yo poder seguir con las siguientes funciones, perdon si no me he expresado bien.
Saludos.

15 Enero, 2016, 11:50 am
Respuesta #3

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 46,750
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Hola

Buenas el_manco , mi objetivo no es que me lo den todo hecho para nada, solamente que me digan como empezar con lo de las cotizaciones para yo poder seguir con las siguientes funciones, perdon si no me he expresado bien.
Saludos.

Ya; pero es que si no te da tiempo a mirar como funciona el Python es imposible que hagas el trabajo. Es imprescendible que aprendas un mínimo de programación en ese lenguaje.

Saludos.

15 Enero, 2016, 12:19 pm
Respuesta #4

pepeluoman

  • Nuevo Usuario
  • Mensajes: 22
  • Karma: +0/-0
  • Sexo: Masculino
Estoy observando sobre el Python y estoy viendo que es muy parecido a C asi que creo que si me días las primeras pautas si podré terminar el trabajo.
Gracias por adelantado.

15 Enero, 2016, 03:32 pm
Respuesta #5

feriva

  • Matemático
  • Mensajes: 8,989
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
  • ¡EUKERA!... ¡UEREKA!... ¡EUREKA! (corregido)


Yo aprendí algo de Python este año y lo hice viendo vídeos y páginas; no sé qué decirte para empezar, Python es muy versátil, tiene muchas librerías opcionales; una de ellas para importar datos de la web y hacer ficheros con ellas, pero no lo usado para nada, sólo se que lo hay.

 Como cosa a destacar es que este lenguaje no usa llaves y es necesario respetar un tabulado jerárquico en los “if”, bucles, y cosas así, para que el programa corra; por lo demás y como ventaja, si se tiene cuidado con eso, la programación es enormemente ágil respecto de los lenguajes habituales.

Es parecido al C según lo compares; si lo comparas con Java y otros así, éstos son más parecidos entre ellos que el Python comparado con el resto; pero todos los lenguajes de programación de alto nivel son parecidos, si se aprende a usar uno no cuesta mucho aprender a usar otro.

Saludos.

15 Enero, 2016, 06:37 pm
Respuesta #6

energy

  • Experto
  • Mensajes: 561
  • Karma: +0/-0
  • Sexo: Masculino
Yo aprendí python el año pasado y bueno digamos que me defiendo algo :P.

Un posible camino sería importar la url de esos sitios web, es decir hacer una lista de webs,y para cada una (bucle for) mirar el código fuente de la pagina web, hay varios comandos, si tienes dudas especificas te lo puedo mirar mas a fondo, entonces leerlas con readlines, y te hara una lista cuyos elementos seran las lineas del código fuente es decir, strings, ahi con los comandos find (todo ello en bucles for para cada linea empiezas a buscar) puedes buscar la tabla y empezar a copiar la información requerida ( aprende sobre etiquetas td y tr,que son las separadoras de filas y columnas. Una vez que tengas todos los datos en listas para cada empresa, hacer tablas y comparaciones no te será muy complicado.

Espero que te sea algo de ayuda.

15 Enero, 2016, 07:52 pm
Respuesta #7

pepeluoman

  • Nuevo Usuario
  • Mensajes: 22
  • Karma: +0/-0
  • Sexo: Masculino
Buenas energy, podrías hacerme al menos el primer apartado para saber por donde empezar más o menos?
Un saludo .

15 Enero, 2016, 09:17 pm
Respuesta #8

feriva

  • Matemático
  • Mensajes: 8,989
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
  • ¡EUKERA!... ¡UEREKA!... ¡EUREKA! (corregido)
Tienes muchos ejemplos de cómo crear ficheros en páginas y vídeos si buscas en Google; para  leer archivos o ficheros de internet se usa  urlopen("http://dirección que sea. extensión que sea"). Luego, tienes otro comando que es archivo.readlines, para cosas concretas, pero también tienes que importar, por otra parte, el código de texto (utf o el que sea, en español, para que salgan los acentos, la “ñ” y eso)...

Es que son muchas cosas (por no hablar de otras más básicas, como introducción de datos, sentencias condicionales, tipos de lista... en fin) no se puede explicar aquí fácilmente, es mejor que busques un tutorial y, después, si tienes dudas, preguntes.

Saludos.

15 Enero, 2016, 11:46 pm
Respuesta #9

energy

  • Experto
  • Mensajes: 561
  • Karma: +0/-0
  • Sexo: Masculino
Como ha dicho el_manco aquí nadie está para hacer las tareas del otro, y más cuando son de dedicarle mucho tiempo y no una cosa concreta.