Files
AlphaFlow-MT5-ML-DL-Trading…/notebooks/exploratory/eda_visualization.ipynb
T

469 KiB

In [1]:
import os
from pathlib import Path
import warnings
import pandas as pd
import numpy as np
import plotly.express as px
import plotly.graph_objects as go
import statsmodels.api as sm
from scipy.fftpack import fft
from statsmodels.tsa.stattools import adfuller
import MetaTrader5 as mt5



import sys
import os
import warnings
from pathlib import Path

# ---------------------------------------------------------------------------
# 1) SET PROJECT ROOT AND UPDATE PATH/WORKING DIRECTORY
# ---------------------------------------------------------------------------
project_root = Path.cwd().parent.parent  # Adjust if your notebook is in notebooks/time_series
sys.path.append(str(project_root))
os.chdir(str(project_root))
warnings.filterwarnings("ignore")

# Import modules for data loading and feature engineering
from data.data_loader import get_data_mt5
from features.feature_engineering import add_all_ta_features
from features.labeling_schemes import calculate_future_returns
In [2]:
import MetaTrader5 as mt5

# Initialize connection to MetaTrader 5
if not mt5.initialize():
    print("initialize() failed, error code =", mt5.last_error())
    quit()

# Retrieve all available symbols
symbols = mt5.symbols_get()

# Print the names of all symbols
for symbol in symbols:
    print(symbol.name)

# Shutdown MT5 connection
mt5.shutdown()
Out [2]:
EURUSD
GBPUSD
USDCHF
USDJPY
USDCAD
AUDUSD
AUDNZD
AUDCAD
AUDCHF
AUDJPY
CHFJPY
EURGBP
EURAUD
EURJPY
EURCHF
EURNZD
EURCAD
GBPCHF
GBPJPY
CADCHF
CADJPY
GBPAUD
GBPCAD
GBPNZD
NZDCAD
NZDCHF
NZDJPY
NZDUSD
USDSGD
AUDSGD
CHFSGD
EURDKK
EURHKD
EURNOK
EURPLN
EURSEK
EURSGD
EURTRY
EURZAR
GBPDKK
GBPNOK
GBPSEK
GBPSGD
GBPTRY
NOKJPY
NOKSEK
SEKJPY
SGDJPY
USDCNH
USDCZK
USDDKK
USDHKD
USDHUF
USDMXN
USDNOK
USDPLN
USDRUB
USDSEK
USDTHB
USDTRY
USDZAR
AUS200
CHINA50
ES35
STOXX50
F40
HK50
IT40
JP225
UK100
US2000
US30
US500
USTEC
XAGEUR
XAGUSD
XAUEUR
XAUUSD
XPDUSD
XPTUSD
XBRUSD
XNGUSD
XTIUSD
BTCUSD
BCHUSD
ETHUSD
LTCUSD
DSHUSD
AAPL.NAS
ADBE.NAS
ADI.NAS
ADP.NAS
AMAT.NAS
AMGN.NAS
AMZN.NAS
AVGO.NAS
BKNG.NAS
BIIB.NAS
CELG.NAS
CHTR.NAS
CMCSA.NAS
CME.NAS
COST.NAS
CRON.NAS
CSCO.NAS
CSX.NAS
CTSH.NAS
EA.NAS
EBAY.NAS
EQIX.NAS
FOX.NAS
FOXA.NAS
GILD.NAS
GOOG.NAS
INTC.NAS
INTU.NAS
ISRG.NAS
KHC.NAS
MAR.NAS
MDLZ.NAS
MSFT.NAS
MU.NAS
NFLX.NAS
NVDA.NAS
PEP.NAS
PYPL.NAS
QCOM.NAS
REGN.NAS
SBUX.NAS
SHPG.NAS
TFCF.NAS
TFCFA.NAS
TLRY.NAS
TMUS.NAS
TSLA.NAS
TXN.NAS
VRTX.NAS
WBA.NAS
ABBV.NYSE
ABT.NYSE
ACB.NYSE
AXP.NYSE
BA.NYSE
BAC.NYSE
BLK.NYSE
BMY.NYSE
C.NYSE
CGC.NYSE
CVS.NYSE
CVX.NYSE
DD.NYSE
DIS.NYSE
DWDP.NYSE
DOW.NYSE
GE.NYSE
GS.NYSE
HD.NYSE
HON.NYSE
IBM.NYSE
JNJ.NYSE
JPM.NYSE
KO.NYSE
LLY.NYSE
LMT.NYSE
MA.NYSE
MCD.NYSE
MMM.NYSE
MO.NYSE
MRK.NYSE
MS.NYSE
NKE.NYSE
ORCL.NYSE
PFE.NYSE
PG.NYSE
PM.NYSE
SLB.NYSE
SPOT.NYSE
T.NYSE
TWX.NYSE
UNH.NYSE
UNP.NYSE
UPS.NYSE
USB.NYSE
V.NYSE
VZ.NYSE
WFC.NYSE
WMT.NYSE
XOM.NYSE
XRPUSD
XLMUSD
EOSUSD
DBA.NYSE
EEM.NYSE
EWH.NYSE
EWW.NYSE
EWZ.NYSE
FXI.NYSE
GDX.NYSE
GDXJ.NYSE
IEMG.NYSE
LQD.NYSE
MOO.NYSE
MJ.NYSE
RSX.NYSE
SIL.NYSE
UNG.NYSE
URA.NYSE
USO.NYSE
VXX.NYSE
VXXB.NYSE
VYM.NYSE
XLE.NYSE
XLF.NYSE
XLI.NYSE
XLP.NYSE
XLU.NYSE
XOP.NYSE
QQQ.NAS
TLT.NAS
XAUAUD
DEO.NYSE
NEE.NYSE
AMT.NYSE
BABA.NYSE
BRK-B.NYSE
TMO.NYSE
LYFT.NAS
TM.NYSE
UBER.NYSE
PINS.NYSE
CA60
NETH25
SE30
SWI20
CHINAH
SA40
NOR25
TecDE30
MidDE60
ADS.ETR
ALV.ETR
BAS.ETR
BAYN.ETR
BMW.ETR
BEI.ETR
CON.ETR
1COV.ETR
DB1.ETR
DTE.ETR
EOAN.ETR
FRE.ETR
FME.ETR
HEI.ETR
HEN3.ETR
IFX.ETR
LHA.ETR
MRK.ETR
MUV2.ETR
RWE.ETR
SAP.ETR
SIE.ETR
VOW3.ETR
VNA.ETR
ANA.MAD
ACX.MAD
ACS.MAD
AENA.MAD
AMS.MAD
SAB.MAD
SAN.MAD
BKT.MAD
BBVA.MAD
CABK.MAD
CLNX.MAD
CIE.MAD
COL.MAD
ENG.MAD
ELE.MAD
FER.MAD
GRF.MAD
IBE.MAD
ITX.MAD
IDR.MAD
MAP.MAD
MEL.MAD
MRL.MAD
NTGY.MAD
REP.MAD
TRE.MAD
TEF.MAD
VIS.MAD
AC.PAR
AIR.PAR
AI.PAR
ATO.PAR
CS.PAR
BNP.PAR
EN.PAR
CAP.PAR
CA.PAR
ACA.PAR
BN.PAR
DSY.PAR
ENGI.PAR
EL.PAR
RMS.PAR
KER.PAR
LR.PAR
OR.PAR
MC.PAR
ML.PAR
ORA.PAR
RI.PAR
UG.PAR
PUB.PAR
RNO.PAR
SAF.PAR
SGO.PAR
SAN.PAR
SU.PAR
GLE.PAR
SW.PAR
FP.PAR
FR.PAR
VIE.PAR
DG.PAR
VIV.PAR
AALB.AMS
ABN.AMS
AGN.AMS
AD.AMS
ASML.AMS
ASRNL.AMS
GLPG.AMS
HEIA.AMS
INGA.AMS
KPN.AMS
NN.AMS
PHIA.AMS
RAND.AMS
URW.AMS
UNA.AMS
VPK.AMS
WKL.AMS
III.LSE
ADM.LSE
AAL.LSE
ANTO.LSE
AHT.LSE
ABF.LSE
AML.LSE
AZN.LSE
AV.LSE
BA.LSE
BARC.LSE
BDEV.LSE
BATS.LSE
BKG.LSE
BP.LSE
BLND.LSE
BTA.LSE
BNZL.LSE
BRBY.LSE
CCL.LSE
CNA.LSE
CCH.LSE
CPG.LSE
CRH.LSE
DCC.LSE
DGE.LSE
DLG.LSE
EZJ.LSE
EXPN.LSE
FRES.LSE
GLEN.LSE
GSK.LSE
HLMA.LSE
HL.LSE
HSBA.LSE
IAG.LSE
IMB.LSE
INF.LSE
ITRK.LSE
ITV.LSE
JMAT.LSE
JE.LSE
KGF.LSE
LAND.LSE
LGEN.LSE
LLOY.LSE
LSE.LSE
MKS.LSE
MRO.LSE
MNDI.LSE
NG.LSE
NXT.LSE
OCDO.LSE
FLTR.LSE
PSON.LSE
PSN.LSE
PRU.LSE
RB.LSE
REL.LSE
RTO.LSE
RIO.LSE
RR.LSE
SGE.LSE
SBRY.LSE
SDR.LSE
SMT.LSE
SGRO.LSE
SVT.LSE
RDSB.LSE
SN.LSE
SMIN.LSE
SKG.LSE
STAN.LSE
STJ.LSE
TSCO.LSE
ULVR.LSE
UU.LSE
VOD.LSE
WTB.LSE
WPP.LSE
DRI.ETR
ADV.ETR
AIXA.ETR
NDA.ETR
BC8.ETR
GBF.ETR
BNR.ETR
COK.ETR
AFX.ETR
CBK.ETR
COP.ETR
DBK.ETR
DWNI.ETR
DEZ.ETR
DRW8.ETR
ZIL2.ETR
EVK.ETR
EVT.ETR
FRA.ETR
FNTN.ETR
G1A.ETR
GFT.ETR
HNR1.ETR
HOT.ETR
BOSS.ETR
SDF.ETR
KGX.ETR
KCO.ETR
KRN.ETR
LXS.ETR
M5Z.ETR
MTX.ETR
NEM.ETR
NDX1.ETR
PFV.ETR
PSM.ETR
QIA.ETR
RHM.ETR
RHK.ETR
RRTL.ETR
SZG.ETR
SRT.ETR
SGL.ETR
WAF.ETR
SZU.ETR
SMHN.ETR
SY1.ETR
TEG.ETR
TLX.ETR
O2D.ETR
TKA.ETR
UN01.ETR
UTDI.ETR
WCH.ETR
ZAL.ETR
AF.PAR
ALD.PAR
ALO.PAR
AKE.PAR
BOL.PAR
BVI.PAR
CO.PAR
CDI.PAR
EDEN.PAR
FGR.PAR
FNAC.PAR
MMB.PAR
MAU.PAR
RCO.PAR
HO.PAR
UBI.PAR
VK.PAR
VCT.PAR
AKZA.AMS
SBMO.AMS
TOM2.AMS
AUTO.LSE
BHP.LSE
CPI.LSE
HMSO.LSE
HAS.LSE
IMI.LSE
ICP.LSE
JUP.LSE
EMG.LSE
PFC.LSE
SRP.LSE
TPK.LSE
TLW.LSE
ICAD.PAR
JCDX.PAR
FPE3.ETR
NWO.ETR
PAH3.ETR
FUR.AMS
WHA.AMS
MTS.MAD
ATST.LSE
OMU.LSE
ECMPA.AMS
AMD.NAS
AKAM.NAS
ALGN.NAS
LNT.NAS
AAL.NAS
AEP.NAS
ANSS.NAS
APA.NAS
ADSK.NAS
CHRW.NAS
CDNS.NAS
CDW.NAS
CINF.NAS
CTAS.NAS
CPRT.NAS
AAP.NYSE
AES.NYSE
AFL.NYSE
A.NYSE
APD.NYSE
ALK.NYSE
ALB.NYSE
ARE.NYSE
ALLE.NYSE
ALL.NYSE
AMCR.NYSE
AEE.NYSE
AIG.NYSE
AWK.NYSE
AMP.NYSE
AME.NYSE
APH.NYSE
AON.NYSE
AOS.NYSE
APTV.NYSE
ADM.NYSE
ANET.NYSE
AJG.NYSE
AIZ.NYSE
ATO.NYSE
AZO.NYSE
AVB.NYSE
AVY.NYSE
BKR.NYSE
BLL.NYSE
BK.NYSE
BAX.NYSE
BDX.NYSE
BBY.NYSE
BIO.NYSE
BWA.NYSE
BXP.NYSE
BSX.NYSE
BR.NYSE
CPB.NYSE
COF.NYSE
CAH.NYSE
KMX.NYSE
CCL.NYSE
CARR.NYSE
CAT.NYSE
CBRE.NYSE
CE.NYSE
CNC.NYSE
CNP.NYSE
CF.NYSE
SCHW.NYSE
CMG.NYSE
CB.NYSE
CHD.NYSE
CI.NYSE
CFG.NYSE
CLX.NYSE
CMS.NYSE
CL.NYSE
CMA.NYSE
CAG.NYSE
COP.NYSE
ED.NYSE
STZ.NYSE
GLW.NYSE
CTVA.NYSE
CCI.NYSE
CMI.NYSE
DHI.NYSE
DHR.NYSE
DRI.NYSE
DVA.NYSE
DE.NYSE
BFB.NYSE
ACN.NYSE
BF/B.NYSE
DAL.NYSE
XRAY.NAS
DVN.NYSE
DXCM.NAS
FANG.NAS
DLR.NYSE
DFS.NYSE
DG.NYSE
DLTR.NAS
D.NYSE
DPZ.NYSE
DOV.NYSE
DTE.NYSE
DUK.NYSE
DXC.NYSE
EMN.NYSE
ETN.NYSE
ECL.NYSE
EIX.NYSE
EW.NYSE
EMR.NYSE
ENPH.NAS
ETR.NYSE
EOG.NYSE
EFX.NYSE
EQR.NYSE
ESS.NYSE
EL.NYSE
ETSY.NAS
ES.NYSE
EXC.NAS
EXPE.NAS
EXR.NYSE
FFIV.NAS
FAST.NAS
FRT.NYSE
FDX.NYSE
FIS.NYSE
FITB.NAS
FE.NYSE
FISV.NAS
FLS.NYSE
FMC.NYSE
F.NYSE
FTNT.NAS
FTV.NYSE
FBHS.NYSE
FCX.NYSE
IT.NYSE
BEN.NYSE
GD.NYSE
GIS.NYSE
GM.NYSE
GPC.NAS
GL.NYSE
GPN.NYSE
GWW.NYSE
HAL.NYSE
HBI.NYSE
HIG.NYSE
HAS.NAS
HCA.NYSE
HSIC.NAS
HSY.NYSE
HES.NYSE
HPE.NYSE
HLT.NYSE
HOLX.NAS
HRL.NYSE
HST.NAS
HWM.NYSE
HPQ.NYSE
HUM.NYSE
HBAN.NAS
HII.NYSE
IEX.NYSE
IDXX.NAS
ITW.NYSE
ILMN.NAS
INCY.NAS
IR.NYSE
ICE.NYSE
IP.NYSE
IPG.NYSE
IFF.NYSE
IVZ.NYSE
IPGP.NAS
NI.NYSE
IQV.NYSE
IRM.NYSE
J.NYSE
JBHT.NAS
SJM.NYSE
JCI.NYSE
JNPR.NYSE
K.NYSE
KEY.NYSE
KEYS.NYSE
KMB.NYSE
KIM.NYSE
KMI.NYSE
KLAC.NAS
KR.NYSE
LB.NYSE
LHX.NYSE
LH.NYSE
LRCX.NAS
LW.NYSE
LVS.NYSE
LEG.NYSE
LDOS.NYSE
LEN.NYSE
LNC.NYSE
LYV.NYSE
L.NYSE
LOW.NYSE
LUMN.NYSE
LYB.NYSE
MTB.NYSE
MPC.NYSE
MMC.NYSE
MLM.NYSE
MAS.NYSE
MKC.NYSE
MCK.NYSE
MDT.NYSE
MET.NYSE
MTD.NYSE
MGM.NYSE
MCHP.NAS
MAA.NYSE
MHK.NYSE
TAP.NYSE
MNST.NAS
MCO.NYSE
MOS.NYSE
MSI.NYSE
MSCI.NYSE
NDAQ.NAS
NTAP.NAS
NWL.NAS
NEM.NYSE
NWSA.NAS
NWS.NAS
NSC.NYSE
NTRS.NAS
NOC.NYSE
NCLH.NYSE
NOV.NYSE
NRG.NYSE
NUE.NYSE
NVR.NYSE
ORLY.NAS
OXY.NYSE
OMC.NYSE
OKE.NYSE
OTIS.NYSE
PCAR.NAS
PKG.NYSE
PH.NYSE
PAYX.NAS
PAYC.NYSE
PNR.NYSE
PBCT.NAS
PRGO.NYSE
PSX.NYSE
PNW.NYSE
PNC.NYSE
PPG.NYSE
PPL.NYSE
PFG.NAS
PGR.NYSE
PLD.NYSE
PRU.NYSE
PEG.NYSE
PSA.NYSE
PHM.NYSE
PVH.NYSE
PWR.NYSE
DGX.NYSE
RJF.NYSE
RYN.NYSE
O.NYSE
REG.NAS
RF.NYSE
RSG.NYSE
RMD.NYSE
RHI.NYSE
ROK.NYSE
ROL.NYSE
ROP.NYSE
ROST.NAS
RCL.NYSE
SPGI.NYSE
CRM.NYSE
STX.NAS
SEE.NYSE
SRE.NYSE
NOW.NYSE
SPG.NYSE
SLG.NYSE
SNA.NYSE
SO.NYSE
LUV.NYSE
SWK.NYSE
STT.NYSE
STE.NYSE
SYK.NYSE
SYF.NYSE
SYY.NYSE
TROW.NAS
TPR.NYSE
TGT.NYSE
TEL.NYSE
FTI.NYSE
TDY.NYSE
TFX.NYSE
TER.NAS
TXT.NYSE
TJX.NYSE
TT.NYSE
TDG.NYSE
TRV.NYSE
TFC.NYSE
TYL.NYSE
TSN.NYSE
UDR.NYSE
ULTA.NAS
UAA.NYSE
UA.NYSE
UAL.NAS
URI.NYSE
UHS.NYSE
UNM.NYSE
VLO.NYSE
VTR.NYSE
VRSN.NAS
VFC.NYSE
VTRS.NAS
VNO.NYSE
VMC.NYSE
WRB.NYSE
WAB.NYSE
WM.NYSE
WAT.NYSE
WEC.NYSE
WELL.NYSE
WST.NYSE
WU.NYSE
WY.NYSE
WHR.NYSE
WMB.NYSE
WLTW.NAS
WYNN.NAS
XEL.NAS
XYL.NYSE
YUM.NYSE
ZBH.NYSE
ZION.NAS
ZTS.NYSE
JKHY.NAS
LKQ.NAS
MKTX.NAS
ODFL.NAS
POOL.NAS
QRVO.NAS
RDWR.NAS
SBAC.NAS
SWKS.NAS
SNPS.NAS
TTWO.NAS
TSCO.NAS
TRMB.NAS
VRSK.NAS
ZBRA.NAS
SE.NYSE
SQ.NYSE
RTX.NYSE
SNAP.NYSE
SNOW.NYSE
SCCO.NYSE
CVNA.NYSE
BX.NYSE
EPD.NYSE
TDOC.NYSE
RKT.NYSE
PANW.NYSE
W.NYSE
KKR.NYSE
NET.NYSE
YUMC.NYSE
MPLX.NYSE
PCG.NYSE
HUBS.NYSE
EPAM.NYSE
UI.NYSE
GNRC.NYSE
QS.NYSE
CUK.NYSE
ATUS.NYSE
ET.NYSE
TRU.NYSE
HEI.NYSE
INVH.NYSE
SUI.NYSE
ALLY.NYSE
MKL.NYSE
DT.NYSE
ESTC.NYSE
CRL.NYSE
GDDY.NYSE
SAM.NYSE
ELAN.NYSE
FICO.NYSE
SMG.NYSE
CCK.NYSE
MPW.NYSE
MOH.NYSE
BRO.NYSE
WPC.NYSE
TREX.NYSE
EQH.NYSE
FDS.NYSE
NLY.NYSE
FNF.NYSE
MTN.NYSE
APO.NYSE
WTRG.NYSE
ELS.NYSE
BAH.NYSE
RPM.NYSE
LII.NYSE
DAR.NYSE
WLK.NYSE
TTC.NYSE
BG.NYSE
BFAM.NYSE
GWRE.NYSE
CPT.NYSE
CCIV.NYSE
LAD.NYSE
RH.NYSE
TWLO.NYSE
ABNB.NAS
AFRM.NAS
ALNY.NAS
AMED.NAS
APPN.NAS
AZPN.NAS
BMRN.NAS
BSY.NAS
BYND.NAS
CG.NAS
CGNX.NAS
CRWD.NAS
CSGP.NAS
CZR.NAS
DBX.NAS
DDOG.NAS
DKNG.NAS
DOCU.NAS
ENTG.NAS
ERIE.NAS
EXAS.NAS
EXPI.NAS
FIVE.NAS
FIVN.NAS
FSLR.NAS
FWONK.NAS
GDRX.NAS
GLPI.NAS
IAC.NAS
IBKR.NAS
IEP.NAS
KDP.NAS
LAZR.NAS
LBRDA.NAS
LBRDK.NAS
LOGI.NAS
LPLA.NAS
MASI.NAS
MDB.NAS
MORN.NAS
MPWR.NAS
MRNA.NAS
MTCH.NAS
NBIX.NAS
NDSN.NAS
NTRA.NAS
NVAX.NAS
OKTA.NAS
OLED.NAS
ON.NAS
OPEN.NAS
PCTY.NAS
PEGA.NAS
PENN.NAS
PLUG.NAS
PODD.NAS
PTC.NAS
PTON.NAS
RGEN.NAS
ROKU.NAS
RPRX.NAS
RUN.NAS
SIRI.NAS
SSNC.NAS
TECH.NAS
TTD.NAS
WDAY.NAS
WISH.NAS
WMG.NAS
Z.NAS
ZG.NAS
ZI.NAS
ZM.NAS
ZS.NAS
MUX.NYSE
BEST.NYSE
QD.NYSE
CIG.NYSE
LYG.NYSE
TTI.NYSE
ABEV.NYSE
BBAR.NYSE
KOS.NYSE
GNW.NYSE
RIG.NYSE
NAT.NYSE
SAN.NYSE
WTI.NYSE
NOK.NYSE
MITT.NYSE
IVR.NYSE
MFA.NYSE
BRFS.NYSE
BBD.NYSE
SWN.NYSE
TEF.NYSE
ITUB.NYSE
HMY.NYSE
HLX.NYSE
EXK.NYSE
GCI.NYSE
ARCO.NYSE
VHC.NYSE
CRK.NYSE
GGB.NYSE
GEO.NYSE
DHT.NYSE
AMRX.NYSE
AIV.NYSE
BKD.NYSE
PHK.NYSE
FSM.NYSE
CX.NYSE
KGC.NYSE
TWO.NYSE
SBS.NYSE
AGRO.NYSE
PBI.NYSE
PBR.NYSE
COTY.NYSE
BW.NYSE
AM.NYSE
ADT.NYSE
UMC.NYSE
NVGS.NYSE
BB.NYSE
CDE.NYSE
GEL.NYSE
BDJ.NYSE
AXL.NYSE
AROC.NYSE
TV.NYSE
TWI.NYSE
CMRE.NYSE
DNOW.NYSE
RYAM.NYSE
RRC.NYSE
GFI.NYSE
PGRE.NYSE
AR.NYSE
INN.NYSE
DRH.NYSE
BCS.NYSE
RWT.NYSE
PUMP.NYSE
SOL.NYSE
RPAI.NYSE
EGO.NYSE
FBP.NYSE
ESRT.NYSE
FPI.NYSE
TEVA.NYSE
LXP.NYSE
LBRT.NYSE
HYLN.NYSE
MGY.NYSE
HYT.NYSE
TALO.NYSE
ARR.NYSE
CYH.NYSE
DB.NYSE
ING.NYSE
SHO.NYSE
EC.NYSE
CIM.NYSE
BDN.NYSE
SCM.NYSE
CARS.NYSE
CLDT.NYSE
GMRE.NYSE
SITC.NYSE
AMX.NYSE
MWA.NYSE
SCS.NYSE
EVRI.NYSE
PBF.NYSE
EDU.NYSE
OI.NYSE
CNX.NYSE
YEXT.NYSE
KAR.NYSE
VLRS.NYSE
USAC.NYSE
IRT.NYSE
RLJ.NYSE
M.NYSE
ABR.NYSE
KRO.NYSE
IGT.NYSE
MUR.NYSE
HTGC.NYSE
AG.NYSE
UE.NYSE
MANU.NYSE
SA.NYSE
AMWL.NYSE
CCJ.NYSE
TAK.NYSE
PDM.NYSE
SM.NYSE
VST.NYSE
DBI.NYSE
EQT.NYSE
CCU.NYSE
CLF.NYSE
TPC.NYSE
STNG.NYSE
VALE.NYSE
PTY.NYSE
SBSW.NYSE
GPK.NYSE
GNL.NYSE
SRG.NYSE
DX.NYSE
INFY.NYSE
GTN.NYSE
CVI.NYSE
AKR.NYSE
EQNR.NYSE
SBH.NYSE
TME.NYSE
TECK.NYSE
TGNA.NYSE
TROX.NYSE
BRX.NYSE
KW.NYSE
GOLD.NYSE
CAL.NYSE
FSK.NYSE
MTW.NYSE
CADE.NYSE
AZUL.NYSE
TPH.NYSE
PSTG.NYSE
PK.NYSE
IMAX.NYSE
FLR.NYSE
OUT.NYSE
AU.NYSE
ATI.NYSE
DK.NYSE
HRB.NYSE
CNK.NYSE
ORI.NYSE
RDN.NYSE
EPRT.NYSE
EB.NYSE
BOX.NYSE
MTDR.NYSE
PEB.NYSE
FLO.NYSE
DAN.NYSE
BSAC.NYSE
STWD.NYSE
LEVI.NYSE
MD.NYSE
CNO.NYSE
DDD.NYSE
BE.NYSE
HOME.NYSE
MX.NYSE
HP.NYSE
ELF.NYSE
SKM.NYSE
HPP.NYSE
NOMD.NYSE
FCPT.NYSE
EQC.NYSE
CWEN.NYSE
HUN.NYSE
ZTO.NYSE
CC.NYSE
PBA.NYSE
GTY.NYSE
SPCE.NYSE
HMC.NYSE
HSBC.NYSE
AXTA.NYSE
VIPS.NYSE
AVTR.NYSE
JEF.NYSE
AEO.NYSE
HR.NYSE
CMC.NYSE
BXMT.NYSE
TRGP.NYSE
AA.NYSE
TMHC.NYSE
LRN.NYSE
JBGS.NYSE
DEI.NYSE
AAT.NYSE
ASAN.NYSE
AMH.NYSE
MMI.NYSE
STAG.NYSE
CUZ.NYSE
UNFI.NYSE
JWN.NYSE
ANF.NYSE
JMIA.NYSE
KBR.NYSE
OMI.NYSE
HGV.NYSE
PLT.NYSE
NIO.NYSE
BTI.NYSE
USFD.NYSE
OHI.NYSE
NCR.NYSE
ARMK.NYSE
GVA.NYSE
EPC.NYSE
CUBE.NYSE
COLD.NYSE
TX.NYSE
OLN.NYSE
ATGE.NYSE
TDC.NYSE
YELP.NYSE
HOG.NYSE
NSA.NYSE
MAIN.NYSE
RMAX.NYSE
PD.NYSE
UGI.NYSE
KMT.NYSE
VVI.NYSE
JOE.NYSE
PRG.NYSE
HIW.NYSE
SKX.NYSE
LTC.NYSE
BDC.NYSE
HLF.NYSE
BAM.NYSE
NNN.NYSE
BJ.NYSE
LAZ.NYSE
FR.NYSE
AJRD.NYSE
ENR.NYSE
RVLV.NYSE
GDOT.NYSE
PAGS.NYSE
ESNT.NYSE
AMRC.NYSE
SPR.NYSE
KBH.NYSE
EPR.NYSE
NYT.NYSE
SAH.NYSE
KNX.NYSE
CPRI.NYSE
THC.NYSE
ABM.NYSE
SCI.NYSE
NUS.NYSE
REXR.NYSE
THS.NYSE
JBL.NYSE
HASI.NYSE
BIP.NYSE
CIEN.NYSE
FL.NYSE
HXL.NYSE
GEF.NYSE
PFGC.NYSE
FAF.NYSE
DCI.NYSE
UVV.NYSE
TOL.NYSE
AER.NYSE
LPX.NYSE
TRNO.NYSE
KSS.NYSE
XEC.NYSE
BYD.NYSE
GMED.NYSE
BUD.NYSE
SON.NYSE
BOOT.NYSE
ACM.NYSE
KRC.NYSE
ADC.NYSE
EAT.NYSE
UHT.NYSE
ONTO.NYSE
NEP.NYSE
CUB.NYSE
YETI.NYSE
ORA.NYSE
R.NYSE
SXT.NYSE
GKOS.NYSE
BCO.NYSE
PAG.NYSE
EHC.NYSE
DKS.NYSE
EBS.NYSE
CHWY.NYSE
WGO.NYSE
CPA.NYSE
PLNT.NYSE
GIB.NYSE
NSP.NYSE
H.NYSE
AIN.NYSE
WCC.NYSE
NVS.NYSE
CHGG.NYSE
SPB.NYSE
DIN.NYSE
ASH.NYSE
INGR.NYSE
AN.NYSE
LMND.NYSE
DELL.NYSE
CRI.NYSE
MTH.NYSE
ENS.NYSE
NBR.NYSE
ATHM.NYSE
MTZ.NYSE
BMI.NYSE
DDS.NYSE
BC.NYSE
U.NYSE
IDA.NYSE
USNA.NYSE
QTWO.NYSE
ARW.NYSE
HAE.NYSE
EME.NYSE
SHAK.NYSE
AFG.NYSE
IBP.NYSE
OSK.NYSE
SNX.NYSE
RL.NYSE
RGA.NYSE
CNMD.NYSE
THG.NYSE
THO.NYSE
PII.NYSE
JBT.NYSE
FCN.NYSE
NVRO.NYSE
MUSA.NYSE
AGCO.NYSE
EGP.NYSE
AMG.NYSE
RS.NYSE
GPI.NYSE
RNR.NYSE
AYI.NYSE
VAC.NYSE
WSM.NYSE
JLL.NYSE
LEA.NYSE
MSGS.NYSE
HUBB.NYSE
IIPR.NYSE
INSP.NYSE
WEX.NYSE
MED.NYSE
FVRR.NYSE
VEEV.NYSE
WSO.NYSE
PEN.NYSE
ALX.NYSE
RNG.NYSE
BURL.NYSE
DECK.NYSE
CHE.NYSE
GHC.NYSE
SHOP.NYSE
MAN.NYSE
MAC.NYSE
TAL.NYSE
SNDL.NAS
TNXP.NAS
TXMD.NAS
GERN.NAS
JFU.NAS
VEON.NAS
CRBP.NAS
MARK.NAS
NBEV.NAS
NERV.NAS
VSTM.NAS
AGEN.NAS
ABUS.NAS
RIGL.NAS
IFRX.NAS
OVID.NAS
CRNT.NAS
WATT.NAS
SELB.NAS
GNPX.NAS
MNKD.NAS
TRVG.NAS
VRAY.NAS
OPK.NAS
CPRX.NAS
NYMT.NAS
NCMI.NAS
IZEA.NAS
VYGR.NAS
ARAY.NAS
ADAP.NAS
LXRX.NAS
VXRT.NAS
FRSX.NAS
CERS.NAS
VKTX.NAS
AYRO.NAS
WIMI.NAS
XNET.NAS
KNDI.NAS
PRQR.NAS
VYNE.NAS
CNDT.NAS
PTEN.NAS
AYTU.NAS
PGEN.NAS
PLYA.NAS
BNGO.NAS
OCGN.NAS
NNDM.NAS
PSEC.NAS
HLIT.NAS
GEVO.NAS
INO.NAS
DTIL.NAS
INSG.NAS
GOSS.NAS
PAA.NAS
CODX.NAS
EGAN.NAS
FOLD.NAS
PBYI.NAS
PAGP.NAS
ADVM.NAS
SY.NAS
INFN.NAS
CRMD.NAS
DVAX.NAS
GOGO.NAS
DOYU.NAS
GLAD.NAS
NMRK.NAS
BCRX.NAS
QIWI.NAS
NDLS.NAS
OSUR.NAS
GLNG.NAS
VRA.NAS
UNIT.NAS
CAMP.NAS
CRIS.NAS
SGMO.NAS
SVC.NAS
GPRO.NAS
ALDX.NAS
FOSL.NAS
CWCO.NAS
FCEL.NAS
ERIC.NAS
WKHS.NAS
ALT.NAS
LILA.NAS
CLNE.NAS
EOLS.NAS
ATRA.NAS
ANGI.NAS
NAVI.NAS
CHRS.NAS
SSSS.NAS
ZYXI.NAS
MITK.NAS
COMM.NAS
SSRM.NAS
MOMO.NAS
SABR.NAS
MVIS.NAS
AVXL.NAS
VIAV.NAS
ROIC.NAS
MDIV.NAS
OCUL.NAS
AGNC.NAS
XBIT.NAS
SPWH.NAS
IHRT.NAS
SWBI.NAS
DENN.NAS
GT.NAS
CAN.NAS
SBRA.NAS
FLEX.NAS
SVMK.NAS
SLM.NAS
ARCC.NAS
AXGN.NAS
NKTR.NAS
SPTN.NAS
MCRB.NAS
GOOD.NAS
MLCO.NAS
MAT.NAS
ACAD.NAS
JBLU.NAS
PCVX.NAS
CLDX.NAS
VREX.NAS
CLSK.NAS
WEN.NAS
CONN.NAS
NMIH.NAS
LI.NAS
CYTK.NAS
SNDX.NAS
EXEL.NAS
ILPT.NAS
CDXS.NAS
ALVR.NAS
QFIN.NAS
LBTYK.NAS
LBTYA.NAS
SFM.NAS
CARA.NAS
BLMN.NAS
FLWS.NAS
ANDE.NAS
HEAR.NAS
NTNX.NAS
KTOS.NAS
OPI.NAS
GPRE.NAS
TSEM.NAS
VUZI.NAS
BLUE.NAS
SBGI.NAS
GIII.NAS
MMYT.NAS
ITCI.NAS
CHEF.NAS
PDCO.NAS
WW.NAS
PACB.NAS
QURE.NAS
PINC.NAS
SNSR.NAS
EH.NAS
SSTI.NAS
BLFS.NAS
STOK.NAS
GNTX.NAS
NIU.NAS
AY.NAS
EVER.NAS
GO.NAS
BZUN.NAS
URBN.NAS
TCOM.NAS
XP.NAS
PFF.NAS
RRGB.NAS
TIGO.NAS
ARCT.NAS
FWONA.NAS
SONO.NAS
IRDM.NAS
EDIT.NAS
SANM.NAS
ODP.NAS
BLNK.NAS
SLGN.NAS
HALO.NAS
CIBR.NAS
AVT.NAS
HAIN.NAS
PGNY.NAS
PLAY.NAS
IONS.NAS
CSIQ.NAS
UPWK.NAS
RVMD.NAS
BHF.NAS
VIR.NAS
FROG.NAS
BLDR.NAS
MARA.NAS
FIZZ.NAS
LSCC.NAS
WB.NAS
MRVL.NAS
ISTB.NAS
STLD.NAS
VTIP.NAS
SFIX.NAS
VCYT.NAS
IUSB.NAS
INGN.NAS
TRIP.NAS
SKYW.NAS
TPIC.NAS
AXSM.NAS
UEIC.NAS
HTHT.NAS
PCH.NAS
LPSN.NAS
DOMO.NAS
BBIO.NAS
CEVA.NAS
CAKE.NAS
SEIC.NAS
YNDX.NAS
PRFT.NAS
ARWR.NAS
STNE.NAS
SNEX.NAS
RDFN.NAS
BRKR.NAS
HQY.NAS
IUSV.NAS
IDCC.NAS
SMTC.NAS
PLCE.NAS
EHTH.NAS
IXUS.NAS
SRPT.NAS
MRCY.NAS
CAR.NAS
SDGR.NAS
NTLA.NAS
RPD.NAS
FATE.NAS
SAGE.NAS
MCHI.NAS
POWI.NAS
CROX.NAS
SHY.NAS
ALRM.NAS
CRUS.NAS
OLLI.NAS
ACMR.NAS
TNDM.NAS
LITE.NAS
CVAC.NAS
PZZA.NAS
AAXJ.NAS
ITRI.NAS
IUSG.NAS
BPMC.NAS
LAMR.NAS
ACWI.NAS
TXRH.NAS
SKYY.NAS
NTES.NAS
AMBA.NAS
BILI.NAS
CDLX.NAS
EMB.NAS
SHV.NAS
JACK.NAS
RYAAY.NAS
IEF.NAS
BNTX.NAS
AVAV.NAS
CHKP.NAS
DVY.NAS
IRBT.NAS
CRSP.NAS
LECO.NAS
VC.NAS
QDEL.NAS
NVCR.NAS
IRTC.NAS
CYBR.NAS
SYNA.NAS
PDD.NAS
APPF.NAS
EEFT.NAS
NXST.NAS
SLAB.NAS
JOUT.NAS
IBB.NAS
FRPT.NAS
JAZZ.NAS
CBRL.NAS
UTHR.NAS
MKSI.NAS
NXPI.NAS
CASY.NAS
TEAM.NAS
BIDU.NAS
TREE.NAS
CHDN.NAS
NICE.NAS
SMH.NAS
VONG.NAS
SEDG.NAS
WIX.NAS
LULU.NAS
CACC.NAS
SOXX.NAS
MSTR.NAS
MELI.NAS
ADAUSD
HOOD.NAS
XTZUSD
DOGUSD
UNIUSD
BNBUSD
DE40
MidDE50
DOTUSD
LNKUSD
MVRS.NAS
MXL.NAS
DBRG.NYSE
XAUJPY
XAUCHF
XAUGBP
XAGAUD
PARA.NAS
ADAG.NAS
ADX.NYSE
AHCO.NAS
ADPT.NAS
ADUS.NAS
ADNT.NYSE
ASIX.NYSE
WMS.NYSE
ADV.NAS
AVK.NYSE
ADN.NAS
AEG.NYSE
AEHR.NAS
AMTX.NAS
AENZ.NYSE
AFYA.NAS
AEM.NYSE
BIRD.NAS
AMR.NYSE
ATEC.NAS
PINE.NYSE
ALTG.NYSE
ASTE.NAS
AZN.NAS
ACLS.NAS
AXS.NYSE
AXON.NAS
BBW.NYSE
CNHI.NYSE
CHI.NAS
CWT.NYSE
CBAN.NAS
STK.NYSE
CBU.NYSE
CW.NYSE
CTKB.NAS
FHN.NYSE
GME.NYSE
GNK.NYSE
GABC.NAS
GSK.NYSE
GRAB.NAS
GRIN.NAS
GRPN.NAS
GRWG.NAS
KEN.NYSE
LXU.NYSE
LU.NYSE
MNDY.NAS
PBT.NYSE
RIVN.NAS
RBLX.NYSE
RKLB.NAS
RCKT.NAS
RY.NYSE
SB.NYSE
SGA.NAS
SPNS.NAS
SAR.NYSE
SOFI.NAS
STKL.NAS
TFSL.NAS
TSBK.NAS
TKR.NYSE
UPST.NAS
URGN.NAS
USIO.NAS
VECO.NAS
VET.NYSE
VSCO.NYSE
VNOM.NAS
WERN.NAS
SOLUSD
AVXUSD
KSMUSD
GLMUSD
MTCUSD
ABEO.NAS
FAX.NYSE
AWP.NYSE
ACP.NYSE
AOD.NYSE
RERE.NYSE
AIKI.NAS
ALRN.NAS
AL.NYSE
ATSG.NAS
AIRS.NAS
AIRG.NAS
ANTE.NAS
AKTX.NAS
AKRO.NAS
AKYA.NAS
AHG.NAS
ALG.NYSE
AGI.NYSE
ACI.NYSE
ALC.NYSE
ALEC.NAS
ALRS.NAS
ALEX.NYSE
DOX.NAS
AVD.NYSE
AX.NYSE
BHLB.NYSE
BZFD.NAS
LAW.NYSE
CALX.NYSE
CWST.NAS
CASS.NAS
SAVA.NAS
CSTL.NAS
CTRM.NAS
CATY.NAS
CATO.NYSE
CVCO.NAS
FUN.NYSE
CELC.NAS
CLS.NYSE
CLBT.NAS
CLRB.NAS
CELH.NAS
CELU.NAS
CPAC.NYSE
CENN.NAS
CVE.NYSE
CSR.NYSE
COIN.NAS
COUR.NYSE
CRSR.NAS
DAVE.NAS
DAWN.NAS
EKSO.NAS
EEX.NYSE
GAME.NAS
EVO.NAS
XGN.NAS
XCUR.NAS
EXLS.NAS
EXFY.NAS
EXPO.NAS
XPRO.NYSE
RACE.NYSE
GMS.NYSE
GSIT.NAS
LAND.NAS
GES.NYSE
ICFI.NAS
IHS.NYSE
IGMS.NAS
LGFa.NYSE
SHEL.NYSE
SHEN.NAS
FOUR.NYSE
SHG.NYSE
SHLS.NAS
SCVL.NAS
SHBI.NAS
SSTK.NYSE
SHYF.NAS
SITM.NAS
BSRR.NAS
SIFY.NAS
SGHT.NAS
SIG.NYSE
SILC.NAS
SIMO.NAS
SAMG.NAS
SMWB.NYSE
SFNC.NAS
STGW.NAS
SLI.NYSE
SMP.NYSE
SXI.NYSE
STN.NYSE
SBLK.NAS
SGU.NYSE
GASS.NAS
STLA.NYSE
STEM.NYSE
STEP.NAS
SCL.NYSE
STXS.NYSE
SBT.NAS
STRL.NAS
STVN.NYSE
THR.NYSE
TDUP.NAS
THRY.NAS
TDW.NYSE
TINV.NYSE
TLYS.NYSE
UL.NYSE
VINC.NAS
VINP.NAS
BBIG.NAS
VIOT.NAS
ARKK.NYSE
ARKF.NYSE
IAU.NYSE
XLV.NYSE
XLK.NYSE
XLY.NYSE
BFH.NYSE
OJ_H3
GRMN.NYSE
AAVEUSD
P911.ETR
XWEL.NAS
TXG.NAS
WT.NYSE
CECO.NAS
EGHT.NAS
EVRG.NAS
INDY.NAS
YINN.NYSE
EWT.NYSE
EWC.NYSE
EPHE.NYSE
EWY.NYSE
RVTY.NYSE
NVRI.NYSE
BGC.NAS
EG.NYSE
ROP.NAS
CDP.NYSE
COO.NAS
DASH.NAS
LIN.NAS
BYON.NYSE
EXPD.NYSE
SYRE.NAS
RGS.NAS
TLPH.NAS
ARQ.NAS
DAY.NYSE
GRYP.NAS
MTUS.NYSE
DOC.NYSE
TRAW.NAS
OPM.PAR
ABCB.NYSE
GAP.NYSE
Corn_K5
Wheat_K5
Sugar_K5
EURBBL_H5
EURSCA_H5
UST10Y_M5
UKGB_M5
ITB10Y_H5
Cocoa_K5
Cotton_K5
Sbean_K5
VIX_H5
JGB10Y_H5
UST30Y_M5
UST05Y_M5
EURBND_H5
DXY_H5
BRENT_K5
WTI_J5
OJ_K5
Coffee_K5
CURB.NYSE
CBAN.NYSE
PLTR.NAS
DPZ.NAS
XIFR.NYSE
SGI.NYSE
True
In [7]:
# Initialize MetaTrader 5
if not mt5.initialize():
    print("Failed to initialize MT5")
else:
    SYMBOL = "BTCUSD"  # Modify to analyze different assets
    TIMEFRAME = mt5.TIMEFRAME_H4
    N_BARS = 1000
    df = get_data_mt5(symbol=SYMBOL, timeframe=TIMEFRAME, n_bars=N_BARS)
    mt5.shutdown()

# Apply technical indicators and feature engineering
df = add_all_ta_features(df)
df = calculate_future_returns(df).dropna(subset=["future_returns"])

# Ensure indicator columns exist
available_features = df.columns.tolist()
selected_features = [col for col in ["close", "rsi_14", "macd", "stoch_%K", "volume"] if col in available_features]

df_selected = df[selected_features].dropna()
if not df_selected.empty:
    fig = px.scatter_matrix(df_selected)
    fig.show()
else:
    print("No selected features are available in the dataset.")

# Basic Data Overview
print("\nDataset Info:")
print(df.info())
print("\nMissing Values:")
print(df.isnull().sum())
c:\Users\moham\miniconda3\envs\dl\Lib\site-packages\ta\trend.py:1030: FutureWarning:

Series.__setitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To set a value by position, use `ser.iloc[pos] = value`

[Data output - unsupported data type map[string]interface {} for mime type application/vnd.plotly.v1+json]
Dataset Info:
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 999 entries, 2024-09-14 08:00:00 to 2025-02-27 16:00:00
Data columns (total 94 columns):
 #   Column                     Non-Null Count  Dtype  
---  ------                     --------------  -----  
 0   open                       999 non-null    float64
 1   high                       999 non-null    float64
 2   low                        999 non-null    float64
 3   close                      999 non-null    float64
 4   tick_volume                999 non-null    uint64 
 5   spread                     999 non-null    int32  
 6   real_volume                999 non-null    uint64 
 7   volume_adi                 999 non-null    float64
 8   volume_obv                 999 non-null    uint64 
 9   volume_cmf                 999 non-null    float64
 10  volume_fi                  999 non-null    float64
 11  volume_em                  999 non-null    float64
 12  volume_sma_em              999 non-null    float64
 13  volume_vpt                 999 non-null    float64
 14  volume_vwap                999 non-null    float64
 15  volume_mfi                 999 non-null    float64
 16  volume_nvi                 999 non-null    float64
 17  volatility_bbm             999 non-null    float64
 18  volatility_bbh             999 non-null    float64
 19  volatility_bbl             999 non-null    float64
 20  volatility_bbw             999 non-null    float64
 21  volatility_bbp             999 non-null    float64
 22  volatility_bbhi            999 non-null    float64
 23  volatility_bbli            999 non-null    float64
 24  volatility_kcc             999 non-null    float64
 25  volatility_kch             999 non-null    float64
 26  volatility_kcl             999 non-null    float64
 27  volatility_kcw             999 non-null    float64
 28  volatility_kcp             999 non-null    float64
 29  volatility_kchi            999 non-null    float64
 30  volatility_kcli            999 non-null    float64
 31  volatility_dcl             999 non-null    float64
 32  volatility_dch             999 non-null    float64
 33  volatility_dcm             999 non-null    float64
 34  volatility_dcw             999 non-null    float64
 35  volatility_dcp             999 non-null    float64
 36  volatility_atr             999 non-null    float64
 37  volatility_ui              999 non-null    float64
 38  trend_macd                 999 non-null    float64
 39  trend_macd_signal          999 non-null    float64
 40  trend_macd_diff            999 non-null    float64
 41  trend_sma_fast             999 non-null    float64
 42  trend_sma_slow             999 non-null    float64
 43  trend_ema_fast             999 non-null    float64
 44  trend_ema_slow             999 non-null    float64
 45  trend_vortex_ind_pos       999 non-null    float64
 46  trend_vortex_ind_neg       999 non-null    float64
 47  trend_vortex_ind_diff      999 non-null    float64
 48  trend_trix                 999 non-null    float64
 49  trend_mass_index           999 non-null    float64
 50  trend_dpo                  999 non-null    float64
 51  trend_kst                  999 non-null    float64
 52  trend_kst_sig              999 non-null    float64
 53  trend_kst_diff             999 non-null    float64
 54  trend_ichimoku_conv        999 non-null    float64
 55  trend_ichimoku_base        999 non-null    float64
 56  trend_ichimoku_a           999 non-null    float64
 57  trend_ichimoku_b           999 non-null    float64
 58  trend_stc                  999 non-null    float64
 59  trend_adx                  999 non-null    float64
 60  trend_adx_pos              999 non-null    float64
 61  trend_adx_neg              999 non-null    float64
 62  trend_cci                  999 non-null    float64
 63  trend_visual_ichimoku_a    999 non-null    float64
 64  trend_visual_ichimoku_b    999 non-null    float64
 65  trend_aroon_up             999 non-null    float64
 66  trend_aroon_down           999 non-null    float64
 67  trend_aroon_ind            999 non-null    float64
 68  trend_psar_up              999 non-null    float64
 69  trend_psar_down            999 non-null    float64
 70  trend_psar_up_indicator    999 non-null    float64
 71  trend_psar_down_indicator  999 non-null    float64
 72  momentum_rsi               999 non-null    float64
 73  momentum_stoch_rsi         999 non-null    float64
 74  momentum_stoch_rsi_k       999 non-null    float64
 75  momentum_stoch_rsi_d       999 non-null    float64
 76  momentum_tsi               999 non-null    float64
 77  momentum_uo                999 non-null    float64
 78  momentum_stoch             999 non-null    float64
 79  momentum_stoch_signal      999 non-null    float64
 80  momentum_wr                999 non-null    float64
 81  momentum_ao                999 non-null    float64
 82  momentum_roc               999 non-null    float64
 83  momentum_ppo               999 non-null    float64
 84  momentum_ppo_signal        999 non-null    float64
 85  momentum_ppo_hist          999 non-null    float64
 86  momentum_pvo               999 non-null    float64
 87  momentum_pvo_signal        999 non-null    float64
 88  momentum_pvo_hist          999 non-null    float64
 89  momentum_kama              999 non-null    float64
 90  others_dr                  999 non-null    float64
 91  others_dlr                 999 non-null    float64
 92  others_cr                  999 non-null    float64
 93  future_returns             999 non-null    float64
dtypes: float64(90), int32(1), uint64(3)
memory usage: 737.5 KB
None

Missing Values:
open              0
high              0
low               0
close             0
tick_volume       0
                 ..
momentum_kama     0
others_dr         0
others_dlr        0
others_cr         0
future_returns    0
Length: 94, dtype: int64
In [3]:
# Plot Raw Data
fig = px.line(df, x=df.index, y="close", title=f"Raw Closing Price Data for {SYMBOL}")
fig.show()
[Data output - unsupported data type map[string]interface {} for mime type application/vnd.plotly.v1+json]
In [8]:
# Plot a subset of technical indicators
for indicator in selected_features:
    if indicator in df.columns and indicator != "close":
        fig = px.line(df, x=df.index, y=indicator, title=f"{indicator} Indicator for {SYMBOL}")
        fig.show()
In [9]:
# Define the list of indicators you want to test
indicators = ["rsi_14", "macd", "stoch_%K", "bollinger_bands", "ema_50", "sma_200"]  # Add more indicators as needed

# Plot a subset of technical indicators
for indicator in selected_features:
    if indicator in df.columns and indicator != "close":
        fig = px.line(df, x=df.index, y=indicator, title=f"{indicator} Indicator for {SYMBOL}")
        fig.show()

# Plot Future Returns
fig = px.line(df, x=df.index, y="future_returns", title=f"Future Returns for {SYMBOL}")
fig.show()
[Data output - unsupported data type map[string]interface {} for mime type application/vnd.plotly.v1+json]
In [11]:
# Autocorrelation & Partial Autocorrelation (ACF & PACF)
def plot_acf_pacf(series, lags=30):
    fig = sm.graphics.tsa.plot_acf(series.dropna(), lags=lags)
    fig.show()
    fig = sm.graphics.tsa.plot_pacf(series.dropna(), lags=lags)
    fig.show()

plot_acf_pacf(df["close"])
C:\Users\moham\AppData\Local\Temp\ipykernel_1008\1032030309.py:4: UserWarning:

FigureCanvasAgg is non-interactive, and thus cannot be shown

C:\Users\moham\AppData\Local\Temp\ipykernel_1008\1032030309.py:6: UserWarning:

FigureCanvasAgg is non-interactive, and thus cannot be shown

In [12]:
# Rolling Mean & Standard Deviation
def plot_rolling_stats(series, window=50):
    fig = go.Figure()
    fig.add_trace(go.Scatter(x=series.index, y=series.rolling(window).mean(), name="Rolling Mean", line=dict(color='red')))
    fig.add_trace(go.Scatter(x=series.index, y=series.rolling(window).std(), name="Rolling Std Dev", line=dict(color='blue')))
    fig.update_layout(title="Rolling Mean & Standard Deviation", xaxis_title="Time", yaxis_title="Value")
    fig.show()

plot_rolling_stats(df["close"])
[Data output - unsupported data type map[string]interface {} for mime type application/vnd.plotly.v1+json]
In [13]:
# ADF Test (Stationarity Test)
def adf_test(series):
    result = adfuller(series.dropna())
    print("\nADF Statistic:", result[0])
    print("p-value:", result[1])
    if result[1] < 0.05:
        print("The series is likely stationary.")
    else:
        print("The series is likely non-stationary.")

adf_test(df["close"])
ADF Statistic: -1.866096850060274
p-value: 0.3481743770195106
The series is likely non-stationary.
In [3]:
# Fourier Transform for Cyclical Trends
def plot_fourier_transform(series, n_components=20):
    series_values = series.dropna().values
    fft_vals = np.abs(fft(series_values))
    freqs = np.fft.fftfreq(len(series_values))
    fig = px.line(x=freqs[:n_components], y=fft_vals[:n_components], title="Fourier Transform - Top Components",
                  labels={"x": "Frequency", "y": "Magnitude"})
    fig.show()

plot_fourier_transform(df["close"])
[Data output - unsupported data type map[string]interface {} for mime type application/vnd.plotly.v1+json]
In [4]:
# Lagged Features Correlation Matrix
def plot_lagged_correlation(df, col="close", max_lag=10):
    lagged_df = pd.DataFrame({f"lag_{i}": df[col].shift(i) for i in range(1, max_lag+1)})
    lagged_df["original"] = df[col]
    corr_matrix = lagged_df.corr()
    fig = px.imshow(corr_matrix, text_auto=True, title="Correlation Matrix of Lagged Features")
    fig.show()

plot_lagged_correlation(df, col="close")

print(f"EDA Completed for {SYMBOL}! Use these insights to refine feature engineering and model selection.")
[Data output - unsupported data type map[string]interface {} for mime type application/vnd.plotly.v1+json]
EDA Completed for BTCUSD! Use these insights to refine feature engineering and model selection.