
    ig                     2   d dl Zd dlZd dlZd dlZ ej                  de        ej                  d       d dl	Z	 e	j                  d       d dlmZ d dlmZ d dlmZ d dlmZmZ  G d d	      Zed
k(  r" eddddd      Zej/                  ddd      Zyy)    Nignore)categoryAgg)signal)entropy)datetime	timedeltac                   (   e Zd ZdZ	 	 	 	 	 d(dededededef
dZ	 	 	 d)ded	ed
edej                  fdZ
dej                  defdZdej                  dedefdZdej                  defdZdededefdZdej                  defdZdej                  defdZdej                  defdZdej                  dedefdZdej                  dedefdZ	 	 d*ded	ededefd Zd!ed"ej                  defd#Z	 d+d!ed"ej                  d$edefd%Zd& Zy'),CCT_MarketCrash_Predictoru   
    Conditional Collapse Theory Classifier for Real Market Data
    Uses yfinance to fetch real market data and predict crash events
    using the trained ML Seed θ* from Fractal Escape Time Theory
    trained_thetacollapse_thresholdcritical_escape_probwindow_sizeprediction_horizonc                     || _         || _        || _        || _        || _        g d| _        g | _        g | _        t        j                  d      | _
        y)u|  
        Args:
            trained_theta: The ML Seed θ* learned from 200×200 training
            collapse_threshold: H_c - entropy level for successful collapse
            critical_escape_prob: P_critical - minimum escape probability for Red Star
            window_size: Lookback window for entropy calculation
            prediction_horizon: Steps ahead to predict
        )E01_Trend_StabilityE02_Volatility_BoundE03_Entropy_GradientE04_Correlation_StructureE05_Feedback_LoopE06_Liquidity_FlowE07_Shockwave_DampingE08_Phase_TransitionE09_Pattern_RecognitionE10_Anomaly_DetectionE11_Escape_PotentialE12_Singularity_RiskE13_Energy_BudgetE14_Prompt_ResponsivenessE15_Mutual_DestructionE16_Final_Collapse   N)theta
H_COLLAPSE
P_CRITICALWINDOWHORIZONelement_namesentropy_historyprediction_lognpzeroselement_activations)selfr   r   r   r   r   s         1/home/per/Documents/Universe as a Fractal/ex01.py__init__z"CCT_MarketCrash_Predictor.__init__   sS     #
,.!)	
  " #%88B<     tickerperiodintervalreturnc           
      r   t        d| d| d| d       t        j                  |      }|j                  ||      }|j                  rt        d|       |d   j                  }|j                  }t        dt        |       d	|d
   j                  d       d|d   j                  d              |||fS )zr
        Fetches real market data using yfinance
        Default: S&P 500 (^GSPC) for 2 years, daily data
        u   📊 Fetching z data (z, z)...)r3   r4   zNo data fetched for Closeu   ✓ Retrieved z data points from r   %Y-%m-%d to )
printyfTickerhistoryempty
ValueErrorvaluesindexlenstrftime)r.   r2   r3   r4   stockdfpricesdatess           r/   fetch_market_dataz+CCT_MarketCrash_Predictor.fetch_market_data;   s     	vhgfXRzFG		&!]]&8]<883F8<== G##s6{m+=eAh>O>OPZ>[=\\`afgiajasast~a  aA  B  	C65  r1   data_windowc                 2   |t        j                  |          }t        |      dk  ryt        j                  |dd      \  }}||dkD     }t        j                  |t        j
                  |dz         z         }t        j                  t         j                  j                  |t        j                  |      z
              }|t        j                  |      dz   z  }t        j                  |t        j
                  |dz         z         }t        |      dkD  rTdd	l
m} t        j                  t        |            }	 ||	|      \  }
}}}}||
|	z  |z   z
  }t        j                  |      }nd}d
|z  d|z  z   d|z  z   }t        j                  |dd      S )z
        Computes Semantic Entropy H(T) for market data window
        Uses multi-scale analysis for uncertainty measurement
        
         ?autoT)binsdensityr   绽|=   
linregress333333?      ?皙?               @)r+   isnanrC   	histogramsumlogabsfftrfftmeanscipy.statsrT   arangestdclip)r.   rJ   hist_	H_shannonfft_vals	fft_probs
H_spectralrT   xslope	interceptr_valuep_valuestd_err	residuals
H_residualH_totals                     r/   compute_semantic_entropyz2CCT_MarketCrash_Predictor.compute_semantic_entropyR   sm    "288K#8"89{b  ,,{FaD1H~VVD266$,#7788	 66"&&++kBGGK4H&HIJx 05 89	ffY	E0A)BBCC
 {b .		#k*+A:DQ:T7E9gw#uqy9'<=I	*JJ 	/C*$44sZ7GGwwwS))r1   r#   c                    | j                  |      }|d   }|d   }|}d}d}t        |      D ]  }	|t        j                  t        j                  |      dz         z  |d   z  }
|dz  |z   |
z   dz  }||z   }t        j                  |      dk  r	|	d	kD  rd
} nt        j                  |      dkD  s n |rdnd}| j                  ||      }|dd|z  z   z  }t        j                  |dd      S )u   
        Computes Escape Probability P_esc(θ) using trained ML Seed
        Based on Red Star Theory fractal topology
        initial_statecontrol_parameterFrR      prompt_energy皙?      $@   T      Y@rM   rW   rV   rX   )_extract_featuresranger+   expr^   _compute_feature_alignmentre   )r.   rJ   r#   featuresy0muyescaped	max_stepstD_termdyP_base	alignmentP_escs                  r/   compute_escape_probabilityz4CCT_MarketCrash_Predictor.compute_escape_probabilityu   s   
 ))+6 o&)* 	y! 		ARVVRVVAY\M22Xo5NNFQ$)f$+BBAvvay4AEvvay5 		  S33HeD	#i/0wwuc3''r1   datac                    i }|d   t        j                  |      z
  t        j                  |      dz   z  |d<   t        |      dkD  rsddlm} t        j                  t        |            } |||      \  }}}}}	t        j                  |t        |      z  t        j                  |      dz   z  dd      |d<   nd|d<   t        j                  t        j                  |            t        j                  t        j                  |            dz   z  |d	<   t        |      d
kD  rzt        j                  |t        j                  |      z
  |t        j                  |      z
  d      }
|
t        |
      dz  d }
t        j                  |
dd
       |
d   dz   z  |d<   nd|d<   t        j                  |d   t        j                  |dd       z
        t        j                  |      dz   z  |d<   |S )z.Extract CCT-relevant features from market datar   rQ   rw   ry   rS   rx   rX   rz   rL   full)modeN   feedback_strengthrV   r:   anomaly_score)r+   ra   rd   rC   rb   rT   rc   re   diffr^   	correlatemax)r.   r   r   rT   rl   rm   rn   ro   rp   rq   autocorrs              r/   r   z+CCT_MarketCrash_Predictor._extract_features   s   %)!Wrwwt}%<PUAU$V!t9q=.		#d)$A:DQ:M7E9gw,.GGECI4EPTX]I]4^`bde,fH(),/H()$&FF2774=$9RVVBGGDM=RUZ=Z$[!t9r>||D2774=$8$:NU[\HHq 0 12H,.FF8Ab>,BhqkTYFY,ZH(),/H()$&FF48bggd3Bi6H+H$IRVVTX\\aMa$b!r1   r   c                     d}d|d   cxk  rdk  rn n|dz  }d|d   cxk  rdk  rn n|dz  }|d   d	k  r|d
z  }t        j                  |d         dk  r|d
z  }t        j                  |dd      S )u(   Computes alignment with trained seed θ*rX   rU   r   皙?r{   rz   rV   r   rY   rW   rx         ?rM   )r+   r^   re   )r.   r   r#   r   s       r/   r   z4CCT_MarketCrash_Predictor._compute_feature_alignment   s    	-.44I/*0S0IO$s*I66(./036Iwwy#s++r1   c                    | j                  || j                        }| j                  || j                   dz  d       }ddt	        j
                  d|| j                  z
  z        z   z  }| j                  |      }t	        j                  |      t        |      z  dz  }t	        j
                  | |dz   z        }| j                  |      }||z  |z  t	        j
                  d|z        z  }	t	        j                  |	dd      ||||||d	S )
u:   Computes full Red Star Potential Ψ_Red — BTC calibratedry   NrM   rL   r{   rQ   g      rX   )Psi_Redr   H_finalentropy_indicatorenergy_term	E_destroydrawdown_risk)r   r#   ru   r&   r+   r   r$   _estimate_destruction_energyrd   rC   _compute_drawdown_riskre   )
r.   rJ   r   r   r   r   E_availabler   r   r   s
             r/   compute_red_star_potentialz4CCT_MarketCrash_Predictor.compute_red_star_potential   s   //TZZH//T[[L!O<L0MN3g6O0P)Q#QR55kB	ff[)C,<<sBffiZ;+>?@
 33K@
 ++k9BFF4-CW<XX wwwS1!2&"*
 	
r1   c                    t        |      dk  ryt        |      dk\  r|d   |d   z
  |d   dz   z  nd}t        |      dk\  r|d   |d   z
  |d   dz   z  nd}t        |      d	k\  r|d   |d
   z
  |d
   dz   z  nd}t        j                  |      }||d   z
  |dz   z  }t        |      dk\  rt        j                  t        j                  |dd             t        j
                  |dd       dz   z  }t        j                  t        j                  |dd             t        j
                  |dd       dz   z  }||dz   z  }	nd}	t        |      dk\  r.|d   |d   z
  |d   dz   z  }
|d   |d   z
  |d   dz   z  }|
|z
  }nd}t        |      dk\  rHt        j                  |dd       |dd dz   z  }t        j                  |dk        }|t        |      z  }nd}t        |      d	k\  r9t        j
                  |dd       }t        j
                  |d
d       }||dz   z  }nd}d}|dk  r!|ddt        j                  d|z        z
  z  z  }|dkD  r|dt        |dz
  dz  d      z  z  }|dk  r|dt        t        |      dz  d      z  z  }|	dkD  r|dt        |	dz
  dz  d      z  z  }|dk  r|dt        t        |      dz  d      z  z  }|dkD  r|d|z  z  }|dk  r|dd|z
  z  dz  z  }t        j                  |dd      S )z
        Computes crash risk from price momentum and drawdown acceleration.
        Returns 0.0 (no risk) to 1.0 (extreme crash risk).
        Uses the FULL available price history (not just the window) for drawdown.
        r}   rX      r:   rQ   r   r      irL   NrM      irV   g{Gzg?rR   g333333?g?gr{   r   rY   g{Gzffffff?gffffff?)rC   r+   r   rd   r   ra   r\   r   minr^   re   )r.   r   recent_return	short_mommed_mom
recent_maxdrawdown
recent_vol	older_vol	vol_ratiomom_3dmom_prev_3daccelerationdaily_returnsred_daystrend_consistencyma_shortma_medma_ratiorisks                       r/   r   z0CCT_MarketCrash_Predictor._compute_drawdown_risk   s{    t9q= GJ$iSTnbDH,bE1ABZ[ CFd)q.T"XR(T"X-=>VW	 CFd)r/48d3i'DI,=>WX VVD\
b)j5.@A t9?RS	 23rwwtBCy7IE7QRJrwwtCRy12bggd3Bi6H56PQI"i%&78II t9>2hb)d2h.>?F8d2h.48e3CDK!K/LL t9?GGDJ/4B<%3GHMvvma/0H (3}+= = # t9?wwtBCy)HWWT#$Z(F6E>2HH  5 DC"&&m);"<<==D
 d?D3447===D T>D3s7|a/555D s?D3	C36<<<D %D3s<025s;;;D s"D,,,D d?DC(N+b00DwwtS#&&r1   c                    t        |      dk  ryt        j                  t        j                  t        j                  |                  }dt        j                  |dd       dz   z  }d|dz  dz   z  }t        j
                  |dd	      S )
u:   Estimates energy for mutual destruction (scales as 1/δ³)rL   r|   rM   r   Nr{   r   g{Gz?r~   )rC   r+   r^   gradientra   re   )r.   r   	curvaturedeltar   s        r/   r   z6CCT_MarketCrash_Predictor._estimate_destruction_energy;  ss    t9r>FF2;;r{{4'89:	rwwy/#565!8d?+	wwy#u--r1   data_streamcurrent_idxc           
         t        d|| j                  z
        }|||dz    }t        |      | j                  dz  k  rdddS | j                  |      }|d   dkD  rd	}t	        |d   d
z  d      }nd}t        dd|d   dz  z
        }| j                  |||       | j                  j                  ||||d   |d   d       |||d   |t        t        | j                  | j                              dS )z6Predicts Red Star (Stable) vs Black Hole (Crash) eventr   r   ry   INSUFFICIENT_DATArX   )
prediction
confidencer   gMbp?RED_STARg{Gz?rM   
BLACK_HOLErV   r   )rB   r   r   r   r   )r   r   r   
componentselements)r   r&   rC   r   r   _update_element_activationsr*   appenddictzipr(   r-   )r.   r   r   	start_idxwindow
psi_resultr   r   s           r/   predict_eventz'CCT_MarketCrash_Predictor.predict_eventE  s   ;45	Y{Q7v;))"5SII44V<
 i 5(#JZ	2T93?J%JS#
9(=(E"EFJ((ZH"" $$!),!),$
 	 %$!),$S!3!3T5M5MNO
 	
r1   r   r   r   c                 r   | j                  |      }dt        j                  |d         dz  z
  | j                  d<   dt        j                  t        j
                  |      dz  dd      z
  | j                  d<   d|d   dz  z
  | j                  d<   |d   | j                  d	<   |d   d
z  | j                  d<   d|d   z
  | j                  d<   d|d   dz  z
  | j                  d<   |d   | j                  d<   |d   | j                  d<   |d   dz  | j                  d<   |d   | j                  d<   d|d   z
  | j                  d<   |d   | j                  d<   |d   | j                  d<   |dk(  rdnd| j                  d<   |d   | j                  d<   t        j                  | j                  dd      | _        y) z!Updates 16-element semantic staterM   rx   rY   r   r   r   ry   r   r   r      rz   r}   r   g      @   r   r   r      	   rL            r   rX   r   r      N)r   r+   r^   r-   re   rd   )r.   r   r   r   r   s        r/   r   z5CCT_MarketCrash_Predictor._update_element_activationsi  s    ))&1&)BFF8<O3P,QTW,W&W  #&)BGGBFF6NS4H!Q,O&O  #&)Jy,AC,G&G  #&./B&C  #&./B&Cc&I  #&)H_,E&E  #&)H_,E,K&K  #&0&?  #&0&9  #&.&?#&E  #'1'':  $'*Z-@'@  $'1-'@  $'/'@  $.8J.FsC  $'1)'<  $#%774+C+CS##N r1   plot_resultsc                    t        d       t        d| j                  d       t        d| d|        t        d       | j                  ||      \  }}}t        dt        |       d       g }g }g }	t	        | j
                  t        |            D ]  }
| j                  ||
      }|j                  |d	          |d	   d
k(  r|j                  |
       n|d	   dk(  r|	j                  |
       |
dz  dk(  set        d|
 dt        |       dt        |       dt        |	               t        |      }t        |      |z  dz  }t        |	      |z  dz  }| j                  D cg c]  }|d   	 }}t        d       t        dt        j                  |      d       t        dt        j                  |      d       t        dt        j                  |      d       t        dt        j                  |      d       t        d       t        d       t        d|        t        dt        |       d|dd       t        dt        |	       d|dd       t        d t        j                  | j                  D cg c]  }|d!   	 c}      d"       |	rut        d#       | j                  |	||      }t        |d$      D ]H  \  }\  }}}}}t        d%| d&|j!                  d'       d(|j!                  d'       d)|d*d+| d| d,       J |r| j#                  |||||	|       ||||||	||t        j                  | j                  D cg c]  }|d!   	 c}      d-d.S c c}w c c}w c c}w )/uN   
        Main analysis pipeline: Fetch data → Predict → Visualize
        u    
🛸 CCT Market Crash Predictoru   Trained Seed θ*: z.4fzMarket: z | Period: zF======================================================================u   
🔍 Analyzing z# data points with CCT Classifier...r   r   r   d   r   z  Processed /z | Red Stars: z | Black Holes: r   u   
📈 Psi_Red Statistics:z  Min: z.6fz  Max: z  Mean: z
  Median: u   📊 CCT ANALYSIS RESULTS:z  Total Predictions: z  Red Star (Stable) Events: z (z.1fz%)z"  Black Hole (Crash Risk) Events: z  Average Confidence: r   z.3fu4   
⚠️  HIGH CRASH RISK PERIODS (Weekly Breakdown):r   z  z. r8   r9   z (Severity: z.1%z | Risk Days: ))red_star_pctblack_hole_pctavg_confidence)r   rG   rH   predictionsred_star_indicesblack_hole_indicesmetrics)r;   r#   rI   rC   r   r&   r   r   r*   r+   r   r   ra   median_cluster_events_weekly	enumeraterD   _plot_results)r.   r2   r3   r   rF   rG   rH   r   r   r   idxresulttotal_predictionsr   r   p
psi_valuescrash_periodsistartendseverityblack_hole_count
total_dayss                           r/   analyze_marketz(CCT_MarketCrash_Predictor.analyze_market  s   
 	13"4::c"234F845h !2266BFE!#f+.QRS c&k2 	AC''4Fvl34l#z1 '',%5"))#.SyA~SE3v;- 8$$'(8$9#: ;&&)*<&=%>@ A	A  ,+,/@@3F/03DDsJ -1,?,?@qa	l@
@*,z*3/01z*3/01,S123
299Z0567h*,%&7%89:,S1A-B,C2lSVEWWYZ[237I3J2K2n]`Maacde&rwwI\I\/]A,/]'^_b&cde IK 778JESYZMKTUbdeKf bGGE3*:J1#Rz :;4Z@X?Y Z$$,S>@P?QQRS]R^^_a bb
 vuk-/A2G & 0"4 ,"0"$''DDWDW*Xq1\?*X"Y
 	
7 A 0^2 +Ys   (M-M2M7indicesrG   c                    |sg S |D cg c]  }||   	 }}|D cg c]  }||   	 }}i }t        t        ||            D ]u  \  }\  }}	|j                         \  }
}}|
|f}||vr	g g g d||<   ||   d   j                  |       ||   d   j                  |	       ||   d   j                  ||          w g }t	        |j                               D ]  }||   }t        |d         }t        |d         }|d   }t        |      dkD  r)t        |      dkD  rdt        |      t        |      z  z
  }nd}|\  }
}g }t        t        |            D ]8  }||   j                         }|d   |
k(  s|d   |k(  s(|j                  |       : |rt        |      nd	}t        |d         }|j                  |||||f        |S c c}w c c}w )
zEClusters Black Hole events into weekly periods for detailed breakdown)rH   rG   all_indicesrH   rG   r  r   r   rM   rX   r}   )
r   r   isocalendarr   sortedkeysr   r   rC   r   )r.   r  rH   rG   r   event_datesevent_pricesweeksevt_date	evt_priceiso_yeariso_weekrg   week_keyclusters	week_datar   r   price_slicer   week_trading_daysd_isor   r   s                           r/   r   z0CCT_MarketCrash_Predictor._cluster_events_weekly  s$   I *11AuQx11+23aq	33 (1#k<2P(Q 	>$A$)$,$8$8$:!Hh (+Hu$ #%#h
 (OG$++H5(OH%,,Y7(OM*11'!*=	>  uzz|, 	RHhI	'*+Ei()C#H-K ;!#K(81(<#k"2S5E"EF "*Hh "3u:& 0a,,.8x'E!H,@%,,Q/0
 4E./!J"9]#;<OOUC3CZPQ1	R4 a 23s
   GG	thresholdc                 h   |sg S g }|d   }|d   }|dd D ]  }||z
  |k  r|}|||dz    }	t        |	      dkD  rRt        j                  |	      dkD  r:t        j                  |	      t        j                  |	      z  dz
  }
t	        |
      }
nd}
|j                  ||   ||   |
f       |}|} |||dz    }	t        |	      dkD  rRt        j                  |	      dkD  r:t        j                  |	      t        j                  |	      z  dz
  }
t	        |
      }
nd}
|j                  ||   ||   |
f       |S )z/Clusters nearby events into significant periodsr   r   NrM   rX   )rC   r+   r   r   r^   r   )r.   r  rH   rG   r  r  cluster_startcluster_endr   r  r   s              r/   _cluster_eventsz)CCT_MarketCrash_Predictor._cluster_events
  sR    I
aj12; 	"C[ I-!$];q=A{#a'BFF;,?!,C!vvk2RVVK5HH3NH"8}H"H}!5u[7I'!) * #!	"  ];q=9{aBFF;$7!$;vvk*RVVK-@@3FH8}HH}-u[/A8LMr1   c           
         t        j                  ddd      \  }}|d   }	|	j                  ||dt        |d      r|j                  nd d	d
       |r;|	j                  |D 
cg c]  }
||
   	 c}
|D 
cg c]  }
||
   	 c}
dddddd       |r;|	j                  |D 
cg c]  }
||
   	 c}
|D 
cg c]  }
||
   	 c}
dddddd       |	j                  ddd       |	j                  d       |	j                  d       |	j                  dd       |	j                  dd !       |d   }	| j                  D cg c]  }|d"   	 }}| j                  D cg c]  }|d#   	 }}t        | j                  | j                  t        |      z         }|D 
cg c]  }
||
   	 }}
|	j                  ||d$dd%&       |	j                  ||d'd(d%d)       |	j                  | j                   dd*d+| j                    d,d-.       |	j                  | j"                  dd*d/| j"                   d,d-.       |	j                  d0dd       |	j                  d       |	j                  d1       |	j                  dd2       |	j                  dd !       |d%   }	t%        j&                  d3      }| j(                  D cg c]  }|d-kD  rdn|d k  rdnd( }}|	j+                  || j(                  |dd4d-5       |	j-                  |       |	j/                  |D 
cg c]  }
d6|
dz   d7 c}
d8d9d:;       |	j                  d<dd       |	j                  d=       |	j1                  dd>       |	j                  dd d?@       t        j2                          t        j4                  dAdBdCD       t7        dE       t        j8                          yFc c}
w c c}
w c c}
w c c}
w c c}w c c}w c c}
w c c}w c c}
w )Gz+Visualizes CCT analysis on real market datar   r   )r"   r   )figsizer   r   nameMarketz Price	steelblue)	linewidthlabelcolorgreen   zRed Star (Stable)r}   *r   )csr  zordermarkeralpharedzBlack Hole (Crash Risk)vz4CCT Market Analysis: Price with Event Classificationr   bold)fontsize
fontweightDatePricez
upper leftr   )locr,  TrU   )r(  r   r   u   Ψ_Red (Stability Potential)ry   )r  r   r  zH(T) (Market Entropy)orange)r  r   r  r(  :zP_critical (r   rV   )r   r   	linestyler  r(  zH_collapse (zCCT Stability IndicatorsValue)r,  r0  r"   black)r   r(  	edgecolorr  E02d-   rightr   )rotationhar,  z416-Element Semantic State (Current Market Condition)
Activationg?r   )r(  axiszcct_market_analysis.png   tight)dpibbox_inchesu5   
📊 Analysis plot saved to: cct_market_analysis.pngN)pltsubplotsplothasattrr  scatter	set_title
set_xlabel
set_ylabellegendgridr*   r   r&   rC   axhliner%   r$   r+   rc   r-   bar
set_xticksset_xticklabelsset_ylimtight_layoutsavefigr;   close)r.   rG   rH   r   red_star_idxblack_hole_idxrF   figaxsaxr   r   r   h_values
time_steps
plot_datesr   r*  colorss                      r/   r   z'CCT_MarketCrash_Predictor._plot_results.  s    <<1h7S V
v'"fBUrww[c6ddj4k  	 	"JJ,7Qa7*67Qvay72-@s#  7 JJ.9Qa9*89Qvay9+Ds#  7 	KF 	 	4
f
g
		lQ	/
C  V,0,?,?@qa	l@
@*.*=*=>QAiL>>4;;c*o(EF
(231eAh3
3

J.La 	 	)

H,C# 	 	7


T__ES&t&7q9 	 	F


T__Gs&t&7q9 	 	F
/"P
f
g
		1,	/
C  V99R=224 W'1s7%H 4 4
x11s3 	 	0
h
8<aa!CyM<#%'A 	 	?
KF 	 	4
l#
As
Cc*-3GLFH		q 87 :9 A>3&4
 =s6   #N<5O
 O2O
;OOO0O
O$N)t$~?rU   rV   2   rL   )^GSPC2y1d)r`  ra  T)r}   )__name__
__module____qualname____doc__floatintr0   strpd	DataFramerI   r+   ndarrayru   r   r   r   r   r   r   r   r   r   boolr   listr   r  r    r1   r/   r   r      s    /5-0/2$&+-	!0e !0%*!0',!0 "!0 &)	!0F /6'+)-! !!$!#&!24,,!.!*BJJ !*5 !*F(bjj ( (SX (Bbjj T 6,4 , ,% ,
bjj 
T 
@Y'2:: Y'% Y'v. . ."
 "
# "
$ "
HO"** O/3OADO0 CG+/O
S O
C O
$(O
48O
b6d 62:: 6RV 6r )*"t "BJJ ""%".2"HBr1   r   __main__r^  r   rW   r   r}   )r   r   r   r   r   zBTC-USDra  T)r2   r3   r   )numpyr+   pandasrj  yfinancer<   warningsfilterwarningsUserWarning
matplotlibusematplotlib.pyplotpyplotrC  scipyr   rb   r   r   r	   r   rc  	predictorr   resultsro  r1   r/   <module>r~     s          ; 7    !  
u     (_	 _	D z * I && ' G r1   