0% encontró este documento útil (0 votos)
33 vistas31 páginas

Python Modulo 3-211123-103403

Este documento presenta información sobre diccionarios, JSON, cómo proveer datos a programas, arquitectura cliente-servidor, protocolo HTTP, URLs, métodos de petición HTTP, partes de una solicitud y respuesta HTTP, web scraping, APIs RESTful, tokens de autenticación, y Pypi y Pip. Explica conceptos clave sobre el intercambio y obtención de datos para programas de finanzas y provee detalles técnicos sobre protocolos y estándares comunes.

Cargado por

andresgia6153
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
33 vistas31 páginas

Python Modulo 3-211123-103403

Este documento presenta información sobre diccionarios, JSON, cómo proveer datos a programas, arquitectura cliente-servidor, protocolo HTTP, URLs, métodos de petición HTTP, partes de una solicitud y respuesta HTTP, web scraping, APIs RESTful, tokens de autenticación, y Pypi y Pip. Explica conceptos clave sobre el intercambio y obtención de datos para programas de finanzas y provee detalles técnicos sobre protocolos y estándares comunes.

Cargado por

andresgia6153
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 31

CURSO

Python aplicado
a finanzas
MÓDULO 3

Data y conectores
Retomamos Diccionarios ¿QUÉ ES JSON?
y sumamos JSON
o JSON (JavaScript Object
Notation): es un formato de
DICCIONARIOS texto sencillo para el
intercambio de datos.
○ Es un tipo de dato muy o Se trata de un subconjunto de
utilizado. la notación literal de objetos
o Tiene operaciones propias. de JavaScript.
o Puedo guardar cualuqier otro o Debido a su amplia adopción
tipo de dato. como alternativa a XML, se
o Se crea con dos llaves vacías {} considera un formato
o Maneja un par de elementos independiente del lenguaje
clave: valor.
¿Qué es JSON?
o XML: eXtensible Markup Language =
“Lenguaje de Marcado Extensible” o
“Lenguaje de Marcas Extensible”.

o Permite definir lenguajes de marcas


Utilizado para almacenar datos en forma legible.

o Proviene del lenguaje SGML y permite definir


la gramática de lenguajes específicos.

o A diferencia de otros lenguajes, XML da


soporte a bases de datos, siendo útil cuando
varias aplicaciones deben comunicarse entre
sí o integrar información.
¿Cómo proveemos de datos al
programa?
o Los programas se alimentan de los datos provistos.

o Como se provisiona depende de como se los haya


pensado a dicho programa.

o Los diversos modos de aprovisionamientos pueden


ser (entre otros):
- Por medio ingreso de quienes usan al programa
- Por medio de información en archivos.
- Por medio de intercambio en la red.
- Otros.
Arquitectura Cliente - Servidor

○ Es un modelo de diseño de software en el


que las tareas se reparten entre los
proveedores de recursos o servicios, llamados
servidores, y los demandantes, llamados
clientes.

○ Un cliente realiza peticiones a otro


programa, el servidor, quien le da respuesta.
Protocolo HTTP/1
o Protocolo de transferencia de hipertexto (en o HTTP es un protocolo sin estado, es
inglés, Hypertext Transfer Protocol, abreviado decir, no guarda ninguna información
HTTP) sobre conexiones anteriores.

o Permite las transferencias de información en la o El desarrollo de aplicaciones web


World Wide Web. necesita frecuentemente mantener
estado.
o HTTP define la sintaxis y la semántica que
utilizan los elementos de software de la o Para esto se usan las cookies, que es
arquitectura web (clientes, servidores, proxies) información que un servidor puede
para comunicarse. almacenar en el sistema cliente
URL
• Un HTTP URL combina en una dirección • Un URL típico puede ser del tipo:
simple los cuatro elementos básicos de
información necesarios para recuperar un http://es.wikipedia.org:80/wiki/Special:Search?
recurso desde cualquier parte en Internet: search=tren&go=Go

 El protocolo que se usa para comunicar o • Dónde:


enviar datos.  http es el protocol.
 El anfitrión (servidor o host) con el que se  es.wikipedia.org es el anfitrión (host).
comunica.  80 es el número de puerto de red en el
 El puerto de red en el servidor para servidor.
conectarse.  /wiki/Special:Search es la ruta de recurso
 La ruta al recurso en el servidor (por ejemplo, (path).
su nombre de archivo).  ?search=tren&go=Go es la cadena de
búsqueda (Parte opcional) query params.
Métodos de petición
o HTTP define una serie de métodos GET
- El método GET solicita una representación del recurso
de request (algunas veces referido especificado.
como "verbos") que pueden - Las solicitudes que usan GET solo deben recuperar datos y no
utilizarse. deben tener ningún otro efecto.
HEAD
o El protocolo tiene flexibilidad para ir - Pide una respuesta idéntica a la que correspondería a una petición
GET, pero en la respuesta no se devuelve el cuerpo
añadiendo nuevos métodos y para - Esto es útil para poder recuperar los metadatos de los
así añadir nuevas funcionalidades. encabezados de respuesta, sin tener que transportar todo el
contenido.
o Cada método indica la acción que POST
desea que se efectúe sobre el - Envía datos para que sean procesados por el recurso identificado
en la URL de la línea petición
recurso identificado. - Los datos se incluirán en el cuerpo de la petición.
PUT
o Lo que este recurso representa - Envía datos al servidor, pero a diferencia del método POST la URI
depende de la aplicación del de la línea de petición no hace referencia al recurso que los
servidor procesará, sino que identifica al los propios datos
- Otra diferencia con POST es semántica (ver REST): mientras que
POST está orientado a la creación de nuevos contenidos, PUT está
más orientado a la actualización de los mismos
Partes del Request
RUTA VERBO PARÁMETROS BODY HEADERS

Response:
A cada request le corresponde un response, este devuelve un objeto con
información, entre ellos el código de estado, el mensaje y encabezados (headers)
Intercamio y/u obtención
de Información
Web Scraping
Extraer información de la web de modo automatico a traves de analizar un documento de la web.
Ventajas: no tengo limitaciones de rate limit como si puedo tener en las apis
Desventaja: Estructura variable de los documentos, pueden bannear la ip.

De una sola página web (spider):


- Procedimiento
- Obtengo URL
- Realizo una petición
- Obtengo y analizo la respuesta
- Me quedo con la información que necesito de la respuesta
- Busco otra url y repito el procedimiento

De varias páginas webs (crawlspider):


- Crawling Vertical (Acceder a cada página de cada ítem, en búsqueda de por ej el detalle del producto)
- Crawling horizontal (visitar diferentes páginas para buscar más información)
Módulo Requests, Get y Response
o https://www.w3schools.com/python/ref_requests_response.asp
¿Qué son las APIs?
o Es una abreviatura de Application Programming Interfaces, que en español significa interfaz de
programación de aplicaciones.

o Conjunto de definiciones y protocolos que se utiliza para desarrollar e integrar el software de las
aplicaciones, permitiendo la comunicación entre dos aplicaciones de software a través de un
conjunto de reglas.z

API REST CARACTERÍSTICAS

 En el campo de las APIs, el acrónimo REST  Publicas


significa (Representational State Transfer-  Privadas
Transferencia de Estado Representacional).  Gratuitas
 El formato más usado en la actualidad es el  Pagas
formato JSON, ya que es más ligero y  Pueden tener seguridad y
legible en comparación al formato XML. requerir un api Token
 REST se apoya en HTTP, los verbos que
utiliza son exactamente los mismos, con
ellos se puede hacer GET, POST, PUT,
DELETE y patch.
¿Qué un Token y API restful?
 La tokenización, cuando se aplica a la seguridad de los datos, es el proceso de sustitución de un elemento de datos
sensible por un equivalente no sensible, denominado token, que no tiene un significado o valor extrínseco o explotable.

 El token es una referencia (es decir, un identificador) que regresa a los datos sensibles a través de un sistema de
tokenización.

 El mapeo de datos originales a un token utiliza métodos que hacen que los tokens no sean factibles de revertir en
ausencia del sistema de tokenización, por ejemplo, utilizando tokens creados a partir de números aleatorios.

 Por ello una de las nuevas tendencias en cuanto al desarrollo web moderno se refiere, es la autenticación por medio de
Tokens y que nuestro backend sea un API RESTful sin información de estado, stateless.

 El funcionamiento es el siguiente. El usuario se autentica en nuestra aplicación, bien con un par usuario/contraseña, o a
través de un proveedor como puede ser Twitter, Facebook o Google por ejemplo. A partir de entonces, cada petición
HTTP que haga el usuario va acompañada de un Token en la cabecera. Este Token no es más que una firma cifrada que
permite a nuestro API identificar al usuario. Pero este Token no se almacena en el servidor, si no en el lado del cliente
(por ejemplo en localStorage o sessionStorage) y el API es el que se encarga de descrifrar ese Token y redirigir el flujo
de la aplicación en un sentido u otro.

 Como los tokens son almacenados en el lado del cliente, no hay información de estado y la aplicación se vuelve
totalmente escalable. Podemos usar el mismo API para diferentes apliaciones (Web, Mobile, Android, iOS, ...) solo
debemos preocuparnos de enviar los datos en formato JSON y generar y descrifrar tokens en la autenticación y
posteriores peticiones HTTP a través de un middleware.
Qué es Pypi y Pip
o Pip es un sistema de gestión de paquetes
utilizado para instalar y administrar paquetes
de software escritos en Python.

o Muchos paquetes pueden ser encontrados en


el Python Package Index (PyPI)

o pip es un acrónimo recursivo que se puede


interpretar como Pip Instalador de Paquetes o
Pip Instalador de Python.
Módulo Requests
o Requests es una librería HTTP de
Python.

o El objetivo del proyecto es hacer


que las solicitudes HTTP sean más
simples y amigables para las
personas.

o Requests es una de las bibliotecas


de Python más populares que no se
incluye con Python, se ha propuesto
que las solicitudes se distribuyan
con Python de forma
predeterminada.
Ejemplo con PUT

Ejemplo con DELETE


API de alpaca
o registro: https://alpaca.markets/
o documentación:
Market Data
TimeFrame:
o 1Min
o 5Min
o 15Min
o 1D (day)
Conectándonos a IOL
Market Data
Fondos
Comunes de
Inversión
Obtenemos los instrumentos por
país y luego los paneles
Operaciones de mi cuenta
Estado de cuenta
Portafolio
Operaciones Vigentes
Ruteo de Órdenes
Compra
Cancelar
una órden

También podría gustarte