CoolFace
Apppublic

kaan1233/bistelligence-api

sourceHugging Faceupdated 2mo agoView on Hugging Face
0likes
analyzer.cpython-313.pyc181 linesDownload Raw Back to __pycache__
1�

2�IBj�w�	��SSKrSSKrSSKrSSKrSSSS.SSSS.S	S3SS.SS
SS.SSSS.SSSS.S.rSrSr	Sr4SrSrSr
SSjrSrSrg)�NuGÜÇLÜ AL�Kz#10b981)�label�min�color�AL�<z#22c55ezZAYIF AL�2z#84cc16�TUT�(z#f59e0b�SAT�z#f97316uGÜÇLÜ SATz#ef4444)�5strong_buy�buy�weak_buy�hold�sell�strong_sellc	��[R"5RSSSSSSS.5nXS:�a	[S$XS	:�a	[S	$XS6:�a	[S7$XS:�a	[S$XS:�a	[S$[S
$)u-0-100 puana göre sinyal etiketi döndürür.�signal_thresholdsrrr	rr
)rrrrrrrrrrr)�algo_config_manager�8get_config�get�
SIGNAL_LABELS)�score�configs  �0C:\Users\kaan_\Desktop\project\xu100\analyzer.py�get_signal_labelrs���!�
+�
+�
-�
1�
1�2E������H��F�
�|�$�$��\�*�*�	��-�	��U�#�#�	��$�	$��Z�(�(�	��.�	 ��V�$�$�	��.�	 ��V�$�$��]�+�+�c	��	�[R"5SnSn/nSnUSRSn[R"USUSUSSS	9nUb�UR9(d�URS10nURSnURSn	[R"U5(dzXqS
:�a!X�:�aUS-
nURSUSS35 OQXqS
:�a!X�:aUS-nURSUSS35 O(XqS
::a X�:�aUS-
nURSUSS35 UR5n11[R"U12SSS	9U13S'[R"U14SSS	9U15S'[R"U16SSS	9U17S'U18SRSnU19SRSnU20SRSn
U21SRSnU22SRSn[R"U5(d�[R"U5(d�X�:aX�:�aUS-
nURS5 OAX�:�aX�::aUS-nURS 5 O X�:aX[:�aUS-
nURS!5 X[:�aX\:�aUS"-
nURS#5 O7X[:�aUS-
nURS$5 OX\:�aUS-
nURS%5 U23SRSn[R"U5(dUU:�aUS-
nURS&5 [R"USUSUS5nUGb�[U5S':�GatUSnUR24(Gd]URS(S:�aURS25OSnURS(S(:�aURSOSnURS(S':�aURSOSnURS(S):�aURS*OSnUb�Ub�[R"U5(d'[R"U5(d[UU5OSn[R"U5(d'[R"U5(d[UU5OSnUb<UU:�aUS-
nURS+5 OUbUU:aUS-nURS,5 [S[S[#U555U4$![ a N-f=f)-N�26thresholdsr�d�Close������High�Low���length�r#r�r#��r#��27adx_strongr
u ADX güçlü yükseliş trendi (�.0fz, +DI > -DI)�28uADX güçlü düşüş trendi (z, -DI > +DI)uZayıf yükseliş trendi (ADX: �)��SMA_20r	�SMA_50���SMA_200�����u*Golden Cross: SMA20 SMA50'yi yukarı kesti�u-Death Cross: SMA20 SMA50'nin altına düştüu-Fiyat 20 günlük ortalamayı yukarı kırdıru3Fiyat kısa ve orta vadeli ortalamaların üzerindeu=Fiyat 20 günlük ortalamanın üzerinde (Kısa vade pozitif)u;Fiyat 50 günlük ortalamanın üzerinde (Orta vade destek)u=Fiyat 200 günlük ortalamanın üzerinde (Uzun vadeli boğa)r-r+�)r#r9u4Fiyat Ichimoku bulutunun üzerinde (Güçlü destek)u+Fiyat Ichimoku bulutunun altında (Direnç))rr�iloc�ta�adx�empty�pd�isna�append�copy�sma�ichimoku�len�shape�maxr�	Exception�int)�dfrr�reasons�max_possible�
current_close�adx_data�adx_val�plus_di�minus_di�df_calc�sma20�sma50�29prev_sma20�30prev_sma50�31prev_close�sma200�
ichimoku_data�ichi�span_a�span_b�tenkan�kijun�kumo_top�kumo_bottoms                         r�_score_trendr`8s���
 �
+�
+�
-�l�
;�F�;�
�E��G��L��w�K�$�$�R�(�M��v�v�b��j�"�U�)�R��[��D�H���H�N�N��-�-��&���-�-��&���=�=��'���w�w�w�����-�-�'�2D��������!A�'�#��l�[�\��,�/�/�G�4F��������!@���
�\�Z�[��<�0�0�W�5G��������!@���
�Q�O�P��g�g�i�G����w�w�/��;�G�H�����w�w�/��;�G�H������� 0��=�G�I���H��"�"�2�&�E��H��"�"�2�&�E���"�'�'��+�J���"�'�'��+�J���!�&�&�r�*�J�
�7�7�5�>�>�"�'�'�%�.�.��"�u�~��R�K�E��N�N�G�H�
�
$����R�K�E��N�N�J�K�
�
$��)?��R�K�E��N�N�J�K�� �]�%:��R�K�E��N�N�P�Q�
�
"��R�K�E��N�N�Z�[�
�
"��R�K�E��N�N�X�Y��Y�
�
$�
$�R�
(�F�
�7�7�6�?�?��6�!��R�K�E��N�N�Z�[�
����B�v�J��5�	�2�g�;�G�
��$��]�);�q�)@� ��#�D��:�:�:�-1�Z�Z��]�Q�->����5�)�D��-1�Z�Z��]�Q�->����5�)�D��-1�Z�Z��]�Q�->����5�)�D��,0�J�J�q�M�A�,=��	�	�%�(�4���%�&�*<�:<�'�'�&�/�/�RT�RY�RY�Z`�Ra�Ra�s�6�6�2�gk�H�=?�W�W�V�_�_�UW�U\�U\�]c�Ud�Ud�#�f�f�"5�jn�K��+�(�8�3�!�R�K�E�#�N�N�+a�b�(�4���9T�!�R�K�E�#�N�N�+X�Y�32�q�#�c�3�u�:�&�'��0�0��	�
��
�s�F	S'�'S'�'33S4�3S4c	�l�[R"5SnSn/n[R"USSS9nUbURSOSnUb[U5S:�aURSOSnUGbU[R"U5(Gd9UbG[R"U5(d,XaS	:a$XQS	:�aUS34-
nURSUSS
35 O�US	Us=:a	US:aO OUS-
nURSUSS
35 O�SUs=:aS::aO OUS-
nURSUSS
35 O�SUs=::aS::aO OUS-
nURSUSS
35 OeUS:�aUS-nURSUSS
35 OCUS:�aUS-nURSUSS
35 O!US:aUS-
nURSUSS
35 [R"US5nUGb\UR(GdJURSnURSn	URSn35URS nURS!n[R"U5(d�[R"U	5(d�X�:aX�:�aUS-
nURS"5 OBX�:�aX�::aUS#-nURS$5 O!US:�aX�:�aUS36-
nURS%5 [R"U5(dKURS&n
[R"U
5(d!X�:�aUS:�aUS-
nURS'5 [R"US5nUb�UR(d�URSnURS!n[R"U5(dj[R"U5(dOUU:�a"US:aUS-
nURS(USS
35 O'UU:a!US:�aUS#-nURS)USS
35 [R"US*US+USSS9nUb~UR(dmURSn[R"U5(dCUS,:aUS#-
nURS-USS
35 O!US.:�aUS-nURS/USS
35 [R"US*US+USSS9nUb�UR(d�URSn[U5S:�aURSOSn[R"U5(dgUbC[R"U5(d(US0:a"US0:�aUS-
nURS1USS
35 O!US2:�aUS-nURS3USS
35 [S[S2[!U555U4$)4Nr rr"r&r'r#r+r7�rsi_oversoldr
u!RSI aşırı satımdan dönüş (r/r1�rsi_overboughtr2uRSI nötr bölgede (r�F�uRSI yükseliş momentumunda (�-uRSI nötr/pozitif bölgede (�Pr8u RSI aşırı alım bölgesinde (�u#RSI yüksek bölgede, dikkatli ol (u1RSI aşırı satım bölgesinde, dip arayışı (r)r,)r7r)r7r-r*u MACD Al sinyali verdi (kesişim)r0u$MACD Sat sinyali (aşağı kesişim)u MACD pozitif ve sinyal üzerinde)r7r+uMACD histogramı ivmeleniyorzStochRSI dipte Al sinyali (K:z StochRSI zirvede Sat sinyali (K:r$r%i����u)Williams %R aşırı satım bölgesinde (�����u(Williams %R aşırı alım bölgesinde (i����u"CCI aşırı satımdan çıkış (r!uCCI aşırı alım ()rrr;�rsir:rDr>r?r@�macdr=�stochrsi�willr�ccirFrrH)rIrrrJ�37rsi_series�current_rsi�prev_rsirk�	macd_line�signal_line�	prev_macd�prev_signal�	histogram�	prev_hist�stoch�stoch_k�stoch_drm�wr_valrn�cci_val�prev_ccis                      r�_score_momentumr~�sm��
 �
+�
+�
-�l�
;�F�H�
�E��G�����7��B�/�J�)3�)?�*�/�/�"�%�T�K�&0�&<��Z��ST�AT�z���r�"�Z^�H���r�w�w�{�';�';�������(9�(9�h�P^�I_�>_�do�{I�tJ�eJ��R�K�E��N�N�>�{�3�>O�q�Q�R�
�N�
#�k�
L�F�;K�4L�
L��R�K�E��N�N�1�+�c�1B�!�D�E�
�+�
#��
#��R�K�E��N�N�:�;�s�:K�1�M�N�
�;�
$�"�
$��R�K�E��N�N�9�+�c�9J�!�L�M�
�2�
��R�K�E��N�N�=�k�#�=N�a�P�Q�
�2�
��Q�J�E��N�N�@��S�@Q�QR�S�T�
�2�
��Q�J�E��N�N�N�{�[^�N_�_`�a�b��7�7�2�g�;��D����38�39�40��I�I�e�$�	��i�i��&���I�I�e�$�	��i�i��&���I�I�e�$�	��w�w�y�!�!�"�'�'�+�*>�*>��&�9�+C��������A�B��(�Y�-E��������E�F��Q��9�#:��������A�B��7�7�9�%�%� �I�I�e�,�	��w�w�y�)�)�i�.C�	�TU�
��Q�J�E��N�N�#A�B�
�K�K��7��$�E�������*�*�U�#���*�*�U�#���w�w�w�������(8�(8��� �W�r�\��������!>�w�s�m�1�M�N��7�"�w��|��������!A�'�#��a�P�Q�
�H�H�R��Z��E��B�w�K��C�E���������B����w�w�v�����|��������!J�6�RU�,�VW�X�Y��#����41�����!I�&�QT��UV�W�X�
�&�&��F��R��Y��7��B�42?�C�43��s�y�y��(�(�2�,��#&�s�8�a�<�3�8�8�B�<�T���w�w�w����#�B�G�G�H�,=�,=�(�T�/�V]�ae�Ve��������!C�G�C�=�PQ�R�S��3����44�����!5�g�c�]�!�D�E��q�#�c�3�u�:�&�'��0�0rc	��Sn/nUSRSn[R"USUS5nUb�UR5R	5(d�URSn[U5S:�aURSOURSn[U5S:�aURSOURSnXV:�aXW:�aUS	-
nUR
S455 O<XV:�aUS	-
nUR
S5 O XV:aXW:aUS-nUR
S
5 [R"USUSUSUSSS9nUb�UR(d�URSn	[R"U	5(d�U	S:aUS	-
nUR
SU	S35 OlU	S:aUS-
nUR
SU	S35 OKU	S:�aUS-nUR
SU	S35 O*SU	s=::aS::aO OUS	-
nUR
SU	S35 [R"USUSUSUS5n46U47brU48R(daU49RSn[R"U5(d7X;:�aUS-
nUR
S5 OX;:aUS-nUR
S5 USRS5R5RSnUSRSn
[R"U5(dMUS:�aGX�-nUS:�aUS-
nUR
SUS S!35 O!US":�aUS-
nUR
S#US S$35 [S[S%[!U555U4$![a N�f=f)&z'OBV, MFI, VWAP analizi. Ham puan 0-100.rr"r#�Volumerh�����r2rir
u-OBV güçlü hacim destekli yükseliş trendiu OBV kısa vadeli hacim artışır0uOBV hacim desteksiz düşüşr$r%r&r'u)MFI aşırı satım (para akışı dip): r/ru+MFI düşük bölgede (potansiyel giriş): rgr8u*MFI aşırı alım (para akışı zirve): ruMFI nötr bölgede: reu(Fiyat VWAP üzerinde (Alıcı baskısı)u(Fiyat VWAP altında (Satıcı baskısı)g@uHacim ortalamanın �.1fux katı (Güçlü ilgi)��?uHacim ortalamanın üzerinde (zx)r!)r:r;�obvr?�allrDr@�mfir=r>�vwaprG�rolling�meanrFrrH)rIrrJrLr��obv_now�obv_5ago�	obv_20agor��mfi_valr��vwap_val�50avg_vol_20�curr_vol�	vol_ratios               r�
_score_volumer�51sT��
�E��G��w�K�$�$�R�(�M�
�&�&��G��b��l�52+�C�53��s�x�x�z�~�~�/�/��(�(�2�,��#&�s�8�a�<�3�8�8�B�<�S�X�X�a�[��%(��X��]�C�H�H�S�M������	���'�"5��R�K�E��N�N�J�K�
�
��R�K�E��N�N�=�>�
�
�G�$7��R�K�E��N�N�:�;�
�&�&��F��R��Y��7��R��\�"�54M�C�55��s�y�y��(�(�2�,���w�w�w�����|��������!J�7�SV�-�X�Y��2���������!L�W�UX�M�Z�[��2���������!K�G�TW�=�Y�Z��w�$�"�$��������!5�g�c�]�C�D�
��w�w�r�&�z�2�e�9�b��k�2�h�<�H����D�J�J��y�y��}�H��7�7�8�$�$� �+��R�K�E��N�N�%M�O�"�-��R�K�E��N�N�%M�O�56�H��%�%�b�)�.�.�0�5�5�b�9�J��(�|� � ��$�H�
�7�7�:���:��>��)�	��s�?��R�K�E��N�N�0��3��?V�W�X�
��_��R�K�E��N�N�;�I�c�?�"�M�N��q�#�c�3�u�:�&�'��0�0���
��
�s�A>M4�M4�457N�Nc	��Sn/nUSRSn[R"USSSS9nUGb,UR(GdURSnURS	nURS58nURSS:�aURS
OSn[59R"U5(d�[60R"U5(d�X5S-::aUS-
nURS5 O:X7S-:�aUS-nURS5 OX6:�aUS-
nURS5 Ub7[61R"U5(dUS:aUS-
nURS5 [R"USUSUSSS9n	U	b�U	R(d�U	RSn62[63R"U645(dlUS:�afX�-S-nUS:aUS-
nURSUSS35 O=US:�aUS -nURS!USS"35 OUS#-
nURS$USS%35 [S[S[U555U4$)&z-Bollinger Bands, ATR analizi. Ham puan 0-100.rr"r#r2r-�r(�stdNr)r*r,r+�)r#r��R���Q�?reu1Fiyat Bollinger alt bandında (Tepki potansiyeli)�\���(\�?r8u4Fiyat Bollinger üst bandında (Geri çekilme riski)u)Fiyat Bollinger orta bandının üzerindeg�������?u<Bollinger sıkışması: Yakında büyük hareket bekleniyorr$r%r&r'r!uDüşük volatilite (%r�u) — Sakin piyasarhr0uYüksek volatilite (%u) — Risklir
zNormal volatilite (%r1)r:r;�bbandsr=rEr>r?r@�atrrFrrH)rIrrJrLr��65lower_band�mid_band�66upper_band�	bandwidthr��atr_val�atr_pcts            r�_score_volatilityr�Vs*��
�E��G��w�K�$�$�R�(�M��Y�Y�r�'�{�2�1�
5�F�
��&�,�,�,��[�[��'�67��;�;�u�%���[�[��'�68�*0�,�,�q�/�A�*=�F�K�K��&�4�	��w�w�z�"�"�2�7�7�:�+>�+>��T� 1�1��������R�S��t�"3�3��������U�V��)��������J�K��$�R�W�W�Y�-?�-?��t�#��R�K�E��N�N�#a�b�
�&�&��F��R��Y��7��B�69?�C�70��s�y�y��(�(�2�,���w�w�w���M�A�$5��.�#�5�G���{��������!7���}�DV�W�X��1���������!6�w�s�m�<�P�Q��������!5�g�c�]�!�D�E��q�#�c�3�u�:�&�'��0�0rc	��Sn/n0nUSRSn[S[U55nUSRU5R	5nUSRU5R5nXg:XaSS/04$Xg-71nUXhS	--72XhS73--74XhS--75XhS--76XhS
--77US.nXG-78U-S-n	U	S::aUS-
nURSU	SS35 OxU	S::aUS-
nURS5 O[U	S::aUS-
nURS5 O>U	S::aUS-
nURS5 O!U	S:�aUS-nURSU	SS35 Sn79[
S 5nUR5H#up�[XM-805U-S-nX�:dMUnUn81M% U82(a US!:aUS-
nURS"U83S#35 [	S[S[U555X#4$)$u>Fibonacci retracement seviyelerine göre puan. Ham puan 0-100.rr"r#r!r$r%r	u&Fibonacci hesaplanamadı (Sabit fiyat)gh��|?5�?g��� �r�?g�?g-�����?g���x�&�?)z0.0%z23.6%z38.2%z50.0%z61.8%z78.6%z100.0%g������7@rzFiyat Fib %r/u' seviyesinde (Güçlü destek bölgesi)g�����C@reu2Fiyat Fib %38.2 desteğinde (İyi giriş bölgesi)r2u'Fiyat Fib %50 seviyesinde (Orta bölge)gfffff�N@r0u Fiyat Fib %61.8 direncine yakıngfffff�S@uFiyat Fib zirvesine yakın (%u) — Direnç riskiN�infr�z84Fiyat Fib u' seviyesine çok yakın (kritik bölge))85r:rrD�tailrFr@�float�items�absrH)rIrrJ�86fib_levelsrL�lookback�period_high�87period_low�diff�position_pct�closest_fib�closest_dist�88level_name�level_price�dists               r�_score_support_resistancer��s'��
�E��G��J��w�K�$�$�R�(�M��3��B�� �H��V�*�/�/�(�+�/�/�1�K��E�����)�-�-�/�J�� ��<�=�r�A�A��#�D���e�|�+��e�|�+��e�|�+��e�|�+��e�|�+���J�"�.�$�6��<�L��t��
��������\�#�$6�6]�^�_�	��	�
�������K�M�	��	�
�������@�B�	��	�
�������9�;�	��	�
�������6�|�C�6H�H[�\�]��K���<�L�#-�#3�#3�#5��89��=�.�/�-�?�#�E�����L�$�K�	$6��|�c�)�
��������K�=�0W�X�Y��q�#�c�3�u�:�&�'��<�<rc��Ub[U5S:aSS[S5S/0SSS0S.4$USRSnUSRSn[R"USS	S909nUb UR91(dURSOSn[R"USUSUSS	S929nUb UR93(dURSOSnUb"[R"U5(dX'S
--94OUS-nUb"[R"U5(dX'S--OUS-n	X(-95n96X�-97nU98S:�a[X�-S
5OSn[U5up�nUS:XGaSn/nUb!US:aUS-
nURSUSS35 [R"USSS
S9nUb?UR99(d.URSnUUS-::aUS-
nURS5 X#:�aUS-
nURS5 [S[U55nUU[U5U0UU	UUUU(a4UR5VVs0sHunnU[US
5_M snnS.1004$0S.1014$US:XGaySn/nUSR!S5R#5nUUS -:�aUS-
nURS!5 US"R!S#5R%5nUS"RSnUS:�aUUS$-:�aUS-
nURS%5 [R&"US5nUbWUR102(dFURSn[R"U5(dUS:�aUS-
nURS&5 [S[U55nUU[U5U0UU	UUUU(a4UR5VVs0sHunnU[US
5_M snnS.1034$0S.1044$[)U5unn[+U5unn[-U5un n![/U5un"n#[U5up�n[0R2"5n$UU$S'S(-UU$S'S)--U U$S'S*--U"U$S'S+--U
U$S'S,--n%[#S[S[U%555nUU-U!-U#-U-n&[R"USS	S1059nUb UR106(dURSOSn[R"USUSUSS	S1079nUb UR108(dURSOSnUb"[R"U5(dX'S
--109OUS-nUb"[R"U5(dX'S--OUS-n	X(-110n111X�-112nU113S:�a[X�-S
5OSnUU[U5U&UU$S'S(US-.UU$S'S)US-.U U$S'S*U!S-.U"U$S'S+U#S-.U
U$S'S,US-.S..UU	UUUb[R"U5(dUOSU(a4UR5VVs0sHunnU[US
5_M snnS.1144$0S.1154$s snnfs snnfs snnf)/u&116Verilen veri çerçevesi için gelişmiş teknik skoru (0-100) hesaplar.117 118Args:119    df: Fiyat veri çerçevesi120    algorithm: Kullanılacak algoritma ('trend', 'mean_reversion', 'breakout')121    122Returns:123    score (int): 0-100 arası nihai puan124    details (dict): Detaylı analiz sonuçları125Nr	ru&Yeterli veri yok (min 50 gün gerekli))r�signalrJ�126categories�	stop_loss�
current_pricerj�	fibonaccir"r#r7r&r'r$r%r-gffffff�?r9g�������?�mean_reversion�#ruRSI aşırı satımda (r�r1r2r�r)r�u?Fiyat alt Bollinger bandında veya altında (Aşırı ucuzlama)u+Fiyat toparlanma sinyali verdi (Yeşil mum)r!)127rr�rJr�r��target_price�risk_rewardr�rjr��breakoutr�u>Fiyat son 20 günün zirvesini kırıyor (Momentum patlaması)r�r0r�uBHacim son 10 gün ortalamasının çok üzerinde (İlgi artışı)u*MACD sıfır çizgisinin üzerinde pozitif�weights�trend�momentum�volume�128volatility�support_resistance)r�weightrJ)r�r�r�r�r�)rDrr:r;rjr=r�r>r?�roundr�r@r�rrHr�r�rFr�rkr`r~r�r�rr)'rI�	algorithmrLrVrorpr�r�r�r��risk�reward�risk_reward_ratio�sr_score�129sr_reasonsr�rrJr�r��final_score�k�v�high_20�130avg_vol_10r�rkrr�trend_score�
trend_reasons�momentum_score�momentum_reasons�volume_score�volume_reasons�volatility_score�volatility_reasonsr�weighted_score�all_reasonss'                                       r�calculate_technical_scorer��s>��131�z�S��W�r�\���&�q�)�@�A������	132�	133�		134��w�K�$�$�R�(�M��G��!�!�"�%�J�����7��B�/�J�)3�)?�135�HX�HX�*�/�/�"�%�^b�K�
�&�&��F��R��Y��7��B�136?�C�!�o�c�i�i�c�h�h�r�l�T�G�18�1D�R�W�W�U\�M]�M]�
�1��-�cp�sw�cw�I�5<�4G�PR�PW�PW�X_�P`�P`�=�a�K�0�fs�vz�fz�L��$�D�
�
)�F�37�!�8��f�m�Q�/���'@��'D�$�H�*��$�$������"�{�R�'7��R�K�E��N�N�4�[��4E�Q�G�H����2�g�;�r�q�9����f�l�l����U�+�J��137�T� 1�1��������`�a��%��R�K�E��N�N�H�I��#�s�5�z�*��� �&�{�3���"�(�,�*��LV�Z�5E�5E�5G�H�5G�T�Q��!�U�1�a�[�.�5G�H�138�139�	140�]_�141�142�	143�144�j�	 ������V�*�/�/�"�%�)�)�+���G�d�N�*��R�K�E��N�N�[�]���\�&�&�r�*�/�/�1�145��h�<�$�$�R�(����>�h��c�)9�9��R�K�E��N�N�_�a��w�w�r�'�{�#����D�J�J��	�	�%�(�I��7�7�9�%�%�)�a�-��������K�L��#�s�5�z�*��� �&�{�3���"�(�,�*��LV�Z�5E�5E�5G�H�5G�T�Q��!�U�1�a�[�.�5G�H�146�147�	148�]_�149�150�	151�".�b�!1��K��'6�r�':�$�N�$�#0��#4� �L�.�+<�R�+@�(��(�'@��'D�$�H�*�
 �
+�
+�
-�F�	�f�Y�'��0�0���	�*�:�6�6�	7��v�i�(��2�2�	3�	�6�)�,�\�:�:�	;�	�6�)�$�%9�:�:�		;���a��S�#�n�"5�6�7�K� �"2�2�^�C�FX�X�[e�e�K�����7��B�/�J�)3�)?�152�HX�HX�*�/�/�"�%�^b�K�
�&�&��F��R��Y��7��B�153?�C�!�o�c�i�i�c�h�h�r�l�T�G�18�1D�R�W�W�U\�M]�M]�
�1��-�cp�sw�cw�I�5<�4G�PR�PW�PW�X_�P`�P`�=�a�K�0�fs�vz�fz�L��$�D�
�
)�F�37�!�8��f�m�Q�/�����"�;�/��*�f�Y�6G��6P�]j�k�"0�F�9�<M�j�<Y�fv�w� ,��y�8I�(�8S�`n�o�$4��y�@Q�R^�@_�l~��,4��y�@Q�Rf�@g�t~�"�154��$�(�&�)�5�b�g�g�k�>R�>R�{�X\�HR��1A�1A�1C�D�1C���A�a��q�!��n�1C�D�!��� Y[�!����iI��PI��xEs�7X?�7Y�Yc	�d�Ub[U5S:aSSSSSS.$USn[R"USS9n[R"US	US155USSS9nUb UR(dUR156SOS
n[R"US	US157USSS9nUb UR(dUR158SOS
nUR159SnUS
:�a[Xg-S-S5OS
nUSRS5R5n	USRS5R5n160U161S
:�aX�:�OSnUb9[R"UR162S5(dXrR163S:�OSn[R"5Sn
[R"U5(dXMS:�OSnU(aU(aSnSnSnO0U(aU(dSnSnSnOU(dU(dSnSnSnOS nS!nS"nUUUU[R"U5(d[[U5S#5US$.$S
US$.$)%u\164Endeks verisini 4 aşamalı rejim modeliyle analiz eder.165 166Returns:167    dict: rejim bilgisi168Nr	�169BilinmiyorzYeterli veri yok�unknown)�regime�description�levelr��trend_strengthr"r'r$r%r&r)rr#r!r-r�rhr2Fr r.uGüçlü BoğauSSMA50 üstü + Güçlü trend. Risk alınabilir, momentum hisselere yönelinebilir.�strong_bulluZayıf BoğaueSMA50 üstü ama trend gücü zayıf. Seçici olunmalı, düşük riskli pozisyonlar tercih edilmeli.�	weak_bulluZayıf AyıuOSMA50 altı, zayıf trend. Yüksek nakit oranı ve defansif hisseler önerilir.�	weak_bearu
Güçlü AyıuVSMA50 altı + Güçlü düşüş trendi. Pozisyon azaltılmalı, nakit artırılmalı.�strong_bearr+)r�r�r�r�r��volume_increasing)rDr;rBr<r=r:r�r�r�r�r>r?rrr�)�index_df�closerSrMrNr�r�rL�volatility_pct�vol_now�vol_avgr��above_sma50r�strong_trendr��descr�s                  r�check_market_regimer��s<����3�x�=�2�-�"�-���"�170�	171�
�W��E��F�F�5��$�E��v�v�h�v�&�����'�9J�SU�V�H�&.�&:�8�>�>�h�m�m�E�"�WX�G�
�&�&��&�!�8�E�?�H�W�4E�b�172Q�C�!�o�c�i�i�c�h�h�r�l�Q�G��J�J�r�N�M�BO�RS�BS�U�G�3�s�:�A�>�YZ�N��x� �%�%�a�(�-�-�/�G��x� �%�%�b�)�.�.�0�G�-4�q�[��)�e��5:�5F�r�w�w�W\�Wa�Wa�bd�We�Of�Of�-�:�:�b�>�1�lq�K�
 �
+�
+�
-�l�
;�F�9;����9I�9I�7�L�1�1�u�L��|�!��d����	�\���v����
����`���� ��g�������$�:<�'�'�'�:J�:J�%��g���2�.�
��173QR�.�
�rc���U(dSSSS.$UR5n/SQn/SQnSnUHnX@;dM174US-
nM UHnX@;dM175US-nM US:�aSS	US.$US:aS176SUS.$SSSS.$)
u�177Haber başlığı veya özeti üzerinden basit bir duygu analizi yapar.178Türkçe ve İngilizce temel finansal kelimeleri içerir.179uNötrzvar(--text-muted)r)rrr)uarttıu	yükseldi�rekorubüyüme�karutemettüuanlaşma�ihale�olumluukazançuuçuşubaşarıu180karlılıkr�target�upgrade�growth�profit�record�dividend�surge�jump�soar�gain�positive�beat)udüştüuazaldı�zarar�ceza�dava�olumsuzukayıpusatış�krizuuyarı�iptalu	düşüş�geriledir�	downgrade�loss�plunge�drop�fall�miss�warning�negative�crash�lawsuit�penaltyr+�Pozitifzvar(--success)�Negatifz
var(--danger)zvar(--text-primary))�lower)�text�positive_words�negative_wordsr�ws     r�analyze_news_sentimentr�s���181� �+>��K�K��:�:�<�D��N��N�
�E�
���9��Q�J�E�����9��Q�J�E��
�q�y�"�-=��N�N�	���"�_�u�M�M� �+@�1�M�Mr)r�)�	pandas_tar;�pandasr>�numpy�nprrrr`r~r�r�r�r�r�r�rr�<module>r"s�������*�"�y�I� �r�I�F�&�r�I�F�!�r�I�F�!�r�I�F�*�!�y�I�
�
�,�8a1�Ne1�VF1�X11�n>=�Hr�p?�H%Nr