. . . Modulos (Varios)

MÓDULOS VARIOS:

Índice de la página:
Utilidades.
Descripción de Módulos.
Importaciones.
Varias Librerías interesantes

------------------------------------------------------------------------------- 
Utilidades:
INSTALAR y DES-INSTALAR LIBRERÍAS (tanto con pip o conda es igual)
Desde el promt de anaconda (Inicio\Anaconda3(64-bit)\Anaconda Prompt\)
Ejemplo instalar quandl (escribir en el prompt): conda install quandl ó pip install quandl
Ejemplo des-instalar quandl (escribir en el prompt): conda uninstall quandl ó pip uninstall quandl

VER LIBRERÍAS INSTALADAS
Desde el promt: pip list ó conda list (mejor con conda, suelen salir más)

COMPLEJIDAD DE CIERTOS MÓDULOS:
Ta-lib (para la instalación seguir el video (03:52): https://www.youtube.com/watch?v=-tHCAEZzUhc 
Una vez descargado de la web: https://www.lfd.uci.edu/~gohlke/pythonlibs/ el archivo TA_Lib-0.4.17-cp37-cp37m-win_amd64.whl (o el correspondiente a mi versión de Python) y desde el Promt de Anaconda y estando en (base) C:\Users\USER\Downloads>pip install TA_Lib-0.4.17-cp37-cp37m-win_amd64.whl enter y se instala.

CREAR Y UTILIZAR MIS PROPIOS MÓDULOS 
Todos los módulos tienen que llevar la extensión .py y tienen que crearse desde un editor de texto yo utilizo el mismo de Jupyter.
He creado la carpeta \Dropbox\PYTHON\Desarrollos\ y mi primer módulo que se llama Indicadores.py dentro de él en este momento solo hay creado la función bbands (indicador de las bandas de Bollinger).

Acceder al módulo Indicadores.py:
import sys  #Permite tomar el control de parte del sistema, solo la utilizamos para el path local
sys.path.insert(1, '../Desarrollos') # Sube un nivel y entra en la carpeta Desarrollos
# Para subir 2 niveles '../../Desarrollos'

Utilización del módulo Indicadores.py:
import numpy as np
import pandas as pd

import Indicadores # Importamos todo el módulo Indicadores, pero si solo queremos importar una función
from Indicadores import bbands # Importamos del módulo Indicadores la función bbands

dfC = pd.read_csv('EURUSD-D.csv', index_col=0, parse_dates=True, usecols=[0,2,3,4,5,6], 
                  header=None, names=['Vela', 'Open', 'High', 'Low', 'Close', 'Volumen'])
# El dfC contiene las columnas 'Vela', 'Open', 'High', 'Low', 'Close', 'Volumen' y ahora lo llamamos
bbands(dfC) # Ejemplo de utilización de la función bbands
# Como vemos en dfC ahora se han incorporado las columnas MM, BB_Inferior, BB_Superior



-------------------------------------------------------------------



Descripción de Módulos:
numpy (Librería científica de matriz N-dimensional)
pandas (Librería específica para realizar tareas de análisis de datos)
FFN (Ayuda a nalizar estrategias en historial de precios en activos financieros)
functools (Operaciones con funciones)
itertools (Funciones de iteradores)
seaborn (Gráficos estadísticos construida sobre MatPlotLib)
scipy (Manipulación matriz N-dimensional, depende de NumPy)
Openpyxl (Manipular datos en Python y llevarlos a excel)
yfinance (Librería del parche para descargar datos de yahoo)
ta (Librería de indicadores de análisis técnico)
Ta-lib (Librería de indicadores de análisis técnico)
ib_insync (Para conectarme con Interactive Brokers con Python)
ezIBpy (Para conectarme con Interactive Brokers con Python)
plotly.graph_objects (para gráficos candlestick y otros muchos)
norgatedata (datos técnico y fundamentales pero es de pago)
pickle ( para aglutinar muchos archivos en un solo archivo .pkl )
tabula ( para leer y convertir tablas de archivo pdf en archivos csv )
backtrader (para hacer bactest)
backtesting (para hacer bactest)
datetime (para tratar las fechas como fechas y no como caracteres)
time (para tratar las horas como horas y no como caracteres)
sys (Permite tomar el control de parte del sistema, solo la utilizamos para el path local)
Investpy (Para descargar los datos de Investing.com con split y dividendos (datos ajustados)


-------------------------------------------------------------------

Importaciones:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.pylab as pylab
import pandas as pd
from pandas_datareader import data as pdr
1) import datetime  # Importamos datetime pero en este caso no vamos a asignarle ningún nombre
2) from datetime import datetime
import time (para tratar las horas como horas y no como caracteres)
from scipy import stats
import seaborn as sns
1) import yfinance as yf  # Librería del parche para descargar datos de yahoo
2) yf.pdr_override()  # Importamos Pandas Datareader y lo parcheamos para que funcione con Yahoo
import plotly.graph_objects as go  # Para gráficos candlestick y otros muchos
import pickle  #  para aglutinar muchos archivos en un solo archivo .pkl  
1) from tabula import read_pdf  leer y convertir tablas de archivo pdf en archivos csv
2) df = read_pdf("data.pdf")  # Para tener un DataFrame
import backtrader as bt  # Para temas de backtest)
1) from backtesting import Backtest, Strategy
2) from backtesting.lib import crossover
3) from backtesting.test import SMA, GOOG

from datetime import datetime # Para tratar fechas
import sys  # Permite tomar el control de parte del sistema, solo la utilizamos para el path local





Varias Librerías interesantes con su web de instalación:

vega_datasets (conjuntos de datos para entrenar) : https://cmdlinetips.com/2018/04/vega_datasets-a-python-package-for-datasets/

Librerías para gráficos interactivos: Plotly, Bokeh, Altair
Videos en español de la librería Altair:
https://www.youtube.com/playlist?list=PLmb4BKXLetJBQa_M8mvvN51KoiN3nJ1h1

metatrader: Es un módulo para hacer backtest que comunica Python con Metatrader 4, solo se puede importar a Python 2.7. He intentado ponerlo en Python 3.7 copiando toda la carpeta metatrader a donde guarda las librerías Python 3.7. Las carpetas son las siguientes:
Python 2.7: E:\Python\Anaconda3\envs\python2\Lib\site-packages\metatrader 
Python 3.7: E:\Python\Anaconda3\Lib\site-packages\metatrader



Librería para ver imágenes en el Notebook:
from IPython.display import Image
Image(filename="nombre y ruta del archivo.png)