Finans danışmanı - Yapay zeka nasıl yapılır (DQN ALGORİTMASI)

nt

Emekli
Katılım
21 Nisan 2023
Mesajlar
1,221
Sadece 3 adım'da nasıl bir qlearning modeli yaparız ?

1. veri oluşturma
2. model eğitme
3. test
4. Burdan sonrası frontend :moruk1:

1. ADIM VERİ OLUŞTURMA

- Sahte Kullanıcı Verileri Oluşturma ve Analizi
  • Her kullanıcı için ad, yaş, cinsiyet, ülke gibi temel bilgiler oluşturulur.
  • Finansal bilgiler de dahil olmak üzere çeşitli özellikler rastgele atanır.
  • Kullanıcıların gelir ve birikimleri, kendi ülkelerinin para birimine göre dönüştürülür.
  • Kullanıcıların gelir ve birikimleri normal dağılıma göre ayarlanır.
  • Kredi skorları ve harcama puanları hesaplanır.
  • Finansal detaylar, kredi miktarı, faiz oranı, vade süresi gibi bilgiler belirlenir.
  • Kullanıcıların yaşlarına göre sağlık durumu, eğitim seviyesi, meslek, medeni durum gibi bilgiler belirlenir.
  • Yaşa göre yatırım tercihi ve harcama alışkanlığı tahmin edilir.
  • Oluşturulan demografik veriler, analiz edilmek üzere bir CSV dosyasına kaydedilir (global.csv).
Python:
import pandas as pd
import numpy as np
from datetime import datetime, timedelta

kullanici_bilgileri = pd.DataFrame({
    'Kullanici_ID': range(1, 50001),  #50000 kullanıcı
    'Ad': [f'Kullanici_{i}' for i in range(1, 50001)],
    'Yas': np.random.randint(18, 65, 50000),
    'Ulke': np.random.choice(["Türkiye", "ABD", "Almanya", "Fransa", "Çin"], 50000),
    'Cinsiyet': np.random.choice(['Erkek', 'Kadın'], 50000),
    'Kilo': np.random.randint(50, 150, 50000),
    'Boy': np.random.randint(150, 200, 50000),
    'Ehliyet': np.random.choice(['Var', 'Yok'], 50000),
    'ParaBirimi': '',
    'KrediKarti': np.random.choice(['Var', 'Yok'], 50000),
    'KrediLimiti': np.random.randint(1000, 5000, 50000),
    'KrediHesabi': np.random.choice(['Var', 'Yok'], 50000),
    'KrediTarihi': np.random.choice(['Var', 'Yok'], 50000),
    'KrediDurumu': np.random.choice(['Var', 'Yok'], 50000),
    'KrediTutari': np.random.randint(1000, 5000, 50000),
    'KrediKalan': np.random.randint(1000, 5000, 50000),
    'KrediPuan': np.random.randint(1, 5, 50000),
    'Hesap': np.random.choice(['Var', 'Yok'], 50000),
    'HesapTarihi': np.random.choice(['Var', 'Yok'], 50000),
    'HesapDurumu': np.random.choice(['Var', 'Yok'], 50000),
    'HesapPuan': np.random.randint(1, 5, 50000),
    'HesapTutari': np.random.randint(1000, 5000, 50000),
    'HesapKalan': np.random.randint(1000, 5000, 50000),
    'HesapParaBirimi': np.random.choice(['Türkiye', 'ABD', 'Almanya', 'Fransa', 'Çin'], 50000),
    'HesapKrediKarti': np.random.choice(['Var', 'Yok'], 50000),
    'HesapKrediLimiti': np.random.randint(1000, 5000, 50000),
    'HesapKrediHesabi': np.random.choice(['Var', 'Yok'], 50000),
    'HesapKrediTarihi': np.random.choice(['Var', 'Yok'], 50000),
    'HesapKrediDurumu': np.random.choice(['Var', 'Yok'], 50000),
    'HesapKrediTutari': np.random.randint(1000, 5000, 50000),
    'HesapKrediKalan': np.random.randint(1000, 5000, 50000),
    'HesapKrediPuan': np.random.randint(1, 5, 50000),
    'HesapTuru': np.random.choice(['Vadesiz', 'Vadeli'], 50000),
    'Gelir': np.random.randint(2000, 10000, 50000),
    'GelirTarihi': np.random.choice(['Var', 'Yok'], 50000),
    'GelirPuan': np.random.randint(1, 5, 50000),
    'GelirTutari': np.random.randint(1000, 5000, 50000),
    'GelirKalan': np.random.randint(1000, 5000, 50000),
    'GelirParaBirimi': np.random.choice(['Türkiye', 'ABD', 'Almanya', 'Fransa', 'Çin'], 50000),
    'Birikim': np.random.randint(1000, 5000, 50000),
    'BirikimTarihi': np.random.choice(['Var', 'Yok'], 50000),
    'BirikimPuan': np.random.randint(1, 5, 50000),
    'BirikimTutari': np.random.randint(1000, 5000, 50000),
    'BirikimKalan': np.random.randint(1000, 5000, 50000),
    'BirikimParaBirimi': np.random.choice(['Türkiye', 'ABD', 'Almanya', 'Fransa', 'Çin'], 50000),
    'EgitimDurumu': np.random.choice(['Var', 'Yok'], 50000),
    'Egitim': np.random.choice(['Yok', 'Ortaokul', 'Lise', 'Lisans', 'Yüksek Lisans', 'Doktora'], 50000),
    'Meslek': np.random.choice(['Mühendis', 'Öğretmen', 'Doktor', 'Programcı', 'Sanatçı',
                                'Demirci', 'Kuaför', 'Eczacı', 'Hemşire', 'Avukat', 'Pilot',
                                'Diş Hekimi', 'Yazılım Geliştirici', 'Grafik Tasarımcı', 'Market Sahibi',
                                'Oyuncu', 'Şef', 'Elektrik Mühendisi'], 50000),
    'MedeniDurum': np.random.choice(['Bekar', 'Evli', 'Boşanmış', 'Dul'], 50000),
    'Hobiler': np.random.choice(['Okuma', 'Seyahat', 'Fotoğrafçılık', 'Spor', 'Yemek Yapma'], 50000),
    'SaglikDurumu': np.random.choice(['Mükemmel', 'İyi', 'Orta', 'Kötü'], 50000),
    'AlisverisTercihi': np.random.choice(['Online', 'Mağaza', 'Her İkisi'], 50000)
})

para_birimleri = {'Türkiye': 2.0, 'ABD': 3.8, 'Almanya': 0.85, 'Fransa': 0.85, 'Çin': 6.5}
kullanici_bilgileri['ParaBirimi'] = [para_birimleri[ulke] for ulke in kullanici_bilgileri['Ulke']]

for index, satir in kullanici_bilgileri.iterrows():
    kullanici_bilgileri.at[index, 'Gelir'] = satir['Gelir'] * satir['ParaBirimi']
    kullanici_bilgileri.at[index, 'Birikim'] = satir['Birikim'] * satir['ParaBirimi']
kullanici_bilgileri['ParaBirimi'] = kullanici_bilgileri['ParaBirimi'].astype(str)
kullanici_bilgileri['KrediSkoru'] = np.random.randint(300, 850, 50000)
kullanici_bilgileri['YatirimTercihi'] = np.random.choice(['Konservatif', 'Dengeli', 'Agresif'], 50000)
kullanici_bilgileri['Gelir'] = np.random.normal(5000, 1500, 50000).astype(int)
kullanici_bilgileri['Birikim'] = np.random.normal(2500, 1000, 50000).astype(int)
kullanici_bilgileri['KatilmaTarihi'] = pd.to_datetime('2022-01-01') + pd.to_timedelta(np.random.randint(0, 365, 50000), unit='D')
kullanici_bilgileri['HarcamaPuani'] = kullanici_bilgileri['Gelir'] * 0.05 + kullanici_bilgileri['KrediSkoru'] * 0.1
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 60, 'SaglikDurumu'] = 'Kötü'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 50, 'SaglikDurumu'] = 'Orta'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 40, 'SaglikDurumu'] = 'İyi'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 30, 'SaglikDurumu'] = 'Mükemmel'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 25, 'SaglikDurumu'] = 'İyi'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 20, 'SaglikDurumu'] = 'İyi'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 15, 'SaglikDurumu'] = 'İyi'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] < 25, 'YatirimTercihi'] = 'Agresif'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] < 35, 'YatirimTercihi'] = 'Dengeli'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 60, 'YatirimTercihi'] = 'Konservatif'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] < 20, 'MedeniDurumu'] = 'Bekar'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 65, 'MedeniDurumu'] = 'Dul'
kullanici_bilgileri.loc[kullanici_bilgileri('Yas') > 20, 'MedeniDurumu'] = 'Evli'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 50, 'Egitim'] = 'Doktora'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 40, 'Meslek'] = 'Doktor'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 30, 'Meslek'] = 'Öğretmen'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 28, 'Meslek'] = 'Mühendis'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 25, 'Meslek'] = 'Programcı'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 20, 'Meslek'] = 'Sanatçı'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 24, 'Egitim'] = 'Yüksek Lisans'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 18, 'Egitim'] = 'Lisans'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 15, 'Egitim'] = 'Lise'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 10, 'Egitim'] = 'Ortaokul'
kullanici_bilgileri.loc[kullanici_bilgileri['Yas'] > 5, 'Egitim'] = 'Yok'
kullanici_bilgileri['HarcamaAliskanligi'] = np.random.uniform(0.1, 0.9, 50000)
kullanici_bilgileri['YatirimTercihi'] = np.random.choice(['Düşük Risk', 'Orta Risk', 'Yüksek Risk'], 50000)
kullanici_bilgileri['AylıkGiderler'] = np.random.randint(500, 3000, 50000)
kullanici_bilgileri['KrediMiktari'] = np.random.randint(0, 5000, 50000)
kullanici_bilgileri['KrediFaizOrani'] = np.random.uniform(0.01, 0.2, 50000)
kullanici_bilgileri['KrediVadeAy'] = np.random.randint(12, 60, 50000)
kullanici_bilgileri['GiderOrani'] = kullanici_bilgileri['Birikim'] / kullanici_bilgileri['Gelir']
kullanici_bilgileri['AylıkBirikim'] = kullanici_bilgileri['Gelir'] - kullanici_bilgileri['Birikim']
kullanici_bilgileri['AylıkBirikimOrani'] = np.random.uniform(0.1, 0.5, 50000)

print(kullanici_bilgileri.head())

kullanici_bilgileri.to_csv('global.csv', index=False)

.csv içeriğinin bir kısmı
Bash:
Kullanici_ID,Ad,Yas,Ulke,Cinsiyet,Kilo,Boy,Ehliyet,ParaBirimi,KrediKarti,KrediLimiti,KrediHesabi,KrediTarihi,KrediDurumu,KrediTutari,KrediKalan,KrediPuan,Hesap,HesapTarihi,HesapDurumu,HesapPuan,HesapTutari,HesapKalan,HesapParaBirimi,HesapKrediKarti,HesapKrediLimiti,HesapKrediHesabi,HesapKrediTarihi,HesapKrediDurumu,HesapKrediTutari,HesapKrediKalan,HesapKrediPuan,HesapTuru,Gelir,GelirTarihi,GelirPuan,GelirTutari,GelirKalan,GelirParaBirimi,Birikim,BirikimTarihi,BirikimPuan,BirikimTutari,BirikimKalan,BirikimParaBirimi,EgitimDurumu,Egitim,Meslek,MedeniDurum,Hobiler,SaglikDurumu,AlisverisTercihi,KrediSkoru,YatirimTercihi,KatilmaTarihi,HarcamaPuani,MedeniDurumu,HarcamaAliskanligi,AylıkGiderler,KrediMiktari,KrediFaizOrani,KrediVadeAy,GiderOrani,AylıkBirikim,AylıkBirikimOrani
1,Kullanici_1,35,Türkiye,Erkek,59,175,Yok,2.0,Var,4078,Var,Yok,Yok,1504,3717,1,Yok,Yok,Yok,1,3342,1638,ABD,Yok,2243,Var,Var,Yok,2512,4875,2,Vadeli,6209,Var,3,3485,1774,Türkiye,2228,Yok,2,1008,2341,ABD,Var,Yok,Sanatçı,Boşanmış,Seyahat,İyi,Her İkisi,317,Orta Risk,2022-03-04,342.15000000000003,nan,0.5979907019152567,2251,29,0.08216745273931977,38,0.35883395071670154,3981,0.4157374425475392
2,Kullanici_2,62,Fransa,Kadın,147,189,Yok,0.85,Yok,1580,Var,Yok,Yok,3003,1841,3,Var,Yok,Yok,4,4719,2376,Fransa,Yok,3063,Var,Yok,Yok,4698,2447,3,Vadeli,4798,Var,3,4022,2484,ABD,2055,Var,2,2459,2344,ABD,Yok,Yok,Sanatçı,Bekar,Spor,İyi,Online,825,Düşük Risk,2022-04-03,322.4,nan,0.8737413526919053,629,547,0.10259444139620044,28,0.4283034597749062,2743,0.10373521516766036
3,Kullanici_3,30,Türkiye,Erkek,53,184,Yok,2.0,Var,1500,Yok,Yok,Yok,1720,4047,4,Yok,Var,Yok,4,3095,3782,Çin,Var,2162,Yok,Var,Var,4849,4395,2,Vadeli,5717,Yok,3,1753,1918,Türkiye,2130,Var,1,1332,3096,Çin,Var,Yok,Sanatçı,Dul,Fotoğrafçılık,İyi,Her İkisi,673,Orta Risk,2022-10-30,353.15000000000003,nan,0.11987827959921687,1542,3812,0.11098449942926258,14,0.3725730278117894,3587,0.11386793538401903
4,Kullanici_4,47,Fransa,Erkek,118,182,Var,0.85,Yok,4281,Yok,Var,Var,2182,3423,2,Var,Var,Var,1,4234,3908,Türkiye,Var,3343,Var,Var,Var,4552,3442,1,Vadeli,4261,Yok,2,1083,3695,ABD,2502,Yok,3,4202,1121,Fransa,Yok,Yok,Sanatçı,Dul,Spor,İyi,Mağaza,591,Yüksek Risk,2022-09-21,272.15000000000003,nan,0.14889614076211777,2872,1092,0.04197886009814683,21,0.5871861065477587,1759,0.37793635974185324
5,Kullanici_5,35,Türkiye,Kadın,89,162,Yok,2.0,Var,2550,Var,Var,Var,4446,2228,1,Yok,Var,Yok,4,3215,4763,ABD,Var,1894,Var,Yok,Var,1575,1388,1,Vadeli,4762,Yok,1,3544,3519,Almanya,2778,Var,1,1278,2535,Fransa,Var,Yok,Sanatçı,Bekar,Yemek Yapma,İyi,Her İkisi,817,Orta Risk,2022-11-10,319.8,nan,0.5459816526405795,2572,4987,0.10238730467957205,17,0.5833683326333473,1984,0.1628602177030487
6,Kullanici_6,18,Almanya,Kadın,121,153,Yok,0.85,Yok,4938,Var,Yok,Yok,3998,4081,1,Var,Var,Yok,2,2779,1063,ABD,Var,1697,Yok,Var,Var,2336,2023,1,Vadesiz,6263,Yok,4,1675,2432,Çin,844,Var,1,2501,2840,Çin,Yok,Yok,Yazılım Geliştirici,Evli,Spor,İyi,Online,813,Düşük Risk,2022-03-21,394.45000000000005,Bekar,0.6899149349677549,1883,2671,0.037013601811298806,56,0.1347596998243653,5419,0.14817080148479828

VERİ SETİ TEST

Bash:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 50000 entries, 0 to 49999
Data columns (total 65 columns):
 #   Column              Non-Null Count  Dtype
---  ------              --------------  -----
 0   Kullanici_ID        50000 non-null  int64
 1   Ad                  50000 non-null  object
 2   Yas                 50000 non-null  int64
 3   Ulke                50000 non-null  object
 4   Cinsiyet            50000 non-null  object
 5   Kilo                50000 non-null  int64
 6   Boy                 50000 non-null  int64
 7   Ehliyet             50000 non-null  object
 8   ParaBirimi          50000 non-null  float64
 9   KrediKarti          50000 non-null  object
 10  KrediLimiti         50000 non-null  int64
 11  KrediHesabi         50000 non-null  object
 12  KrediTarihi         50000 non-null  object
 13  KrediDurumu         50000 non-null  object
 14  KrediTutari         50000 non-null  int64
 15  KrediKalan          50000 non-null  int64
 16  KrediPuan           50000 non-null  int64
 17  Hesap               50000 non-null  object
 18  HesapTarihi         50000 non-null  object
 19  HesapDurumu         50000 non-null  object
 20  HesapPuan           50000 non-null  int64
 21  HesapTutari         50000 non-null  int64
 22  HesapKalan          50000 non-null  int64
 23  HesapParaBirimi     50000 non-null  object
 24  HesapKrediKarti     50000 non-null  object
 25  HesapKrediLimiti    50000 non-null  int64
 26  HesapKrediHesabi    50000 non-null  object
 27  HesapKrediTarihi    50000 non-null  object
 28  HesapKrediDurumu    50000 non-null  object
 29  HesapKrediTutari    50000 non-null  int64
 30  HesapKrediKalan     50000 non-null  int64
 31  HesapKrediPuan      50000 non-null  int64
 32  HesapTuru           50000 non-null  object
 33  Gelir               50000 non-null  int64
 34  GelirTarihi         50000 non-null  object
 35  GelirPuan           50000 non-null  int64
 36  GelirTutari         50000 non-null  int64
 37  GelirKalan          50000 non-null  int64
 38  GelirParaBirimi     50000 non-null  object
 39  Birikim             50000 non-null  int64
 40  BirikimTarihi       50000 non-null  object
 41  BirikimPuan         50000 non-null  int64
 42  BirikimTutari       50000 non-null  int64
 43  BirikimKalan        50000 non-null  int64
 44  BirikimParaBirimi   50000 non-null  object
 45  EgitimDurumu        50000 non-null  object
 46  Egitim              50000 non-null  object
 47  Meslek              50000 non-null  object
 48  MedeniDurum         50000 non-null  object
 49  Hobiler             50000 non-null  object
 50  SaglikDurumu        50000 non-null  object
 51  AlisverisTercihi    50000 non-null  object
 52  KrediSkoru          50000 non-null  int64
 53  YatirimTercihi      50000 non-null  object
 54  KatilmaTarihi       50000 non-null  object
 55  HarcamaPuani        50000 non-null  float64
 56  MedeniDurumu        48962 non-null  object
 57  HarcamaAliskanligi  50000 non-null  float64
 58  AylıkGiderler       50000 non-null  int64
 59  KrediMiktari        50000 non-null  int64
 60  KrediFaizOrani      50000 non-null  float64
 61  KrediVadeAy         50000 non-null  int64
 62  GiderOrani          50000 non-null  float64
 63  AylıkBirikim        50000 non-null  int64
 64  AylıkBirikimOrani   50000 non-null  float64
dtypes: float64(6), int64(28), object(31)
memory usage: 24.8+ MB
2. ADIM MODEL OLUŞTURMA (QLEARNG)

Python:
import numpy as np
import pandas as pd
from tensorflow.keras.models import Sequential, load_model
from tensorflow.keras.layers import Dense
from tensorflow.keras.optimizers import Adam
from collections import deque
import random


data = pd.read_csv('GÜNCELLEYİN!!!/global.csv')
data = data.select_dtypes(exclude=['object'])
data = data.dropna()
data = data.reset_index(drop=True)
birikim_miktari = [100, 500, 750, 1000]
data['KullaniciBirikimMiktari'] = np.random.choice(birikim_miktari, size=len(data))

state_size = data.shape[1] - 1
action_size = 2
batch_size = 32
n_episodes = 1000
n_steps_per_episode = 1000
memory = deque(maxlen=2000)
gamma = 0.95
epsilon = 1.0
epsilon_min = 0.01
epsilon_decay = 0.995
learning_rate = 0.001

def build_model(state_size, action_size):
    model = Sequential()
    model.add(Dense(24, input_shape=(state_size,), activation='relu'))
    model.add(Dense(24, activation='relu'))
    model.add(Dense(action_size, activation='linear'))
    model.compile(loss='mse', optimizer=Adam(lr=learning_rate))
    return model

model = build_model(state_size, action_size)

for episode in range(n_episodes):
    state = data.iloc[episode % len(data)].values[:-1].reshape(1, -1)
    total_reward = 0
    for step in range(n_steps_per_episode):
        if np.random.rand() <= epsilon:
            action = np.random.choice(action_size)
        else:
            q_values = model.predict(state)
            action = np.argmax(q_values[0])
        new_state = data.iloc[(episode + step + 1) % len(data)].values[:-1].reshape(1, -1).astype(float)
        reward = data.iloc[(episode + step + 1) % len(data)]['KullaniciBirikimMiktari']
        done = False
        memory.append((state, action, reward, new_state, done))
        state = new_state
        if len(memory) > batch_size:
            minibatch = random.sample(memory, batch_size)
            for state, action, reward, new_state, done in minibatch:
                target = reward
                if not done:
                    target = reward + gamma * np.amax(model.predict(new_state)[0])
                target_f = model.predict(state)
                target_f[0][action] = target
                model.fit(state, target_f, epochs=1, verbose=0)
        if done:
            break
    if epsilon > epsilon_min:
        epsilon *= epsilon_decay

model.save('bankerbilo_dqn.h5')

3. ADIM TEST
 
Son düzenleme:
@Alt 255 Sana şaşmaz bir koyun tavsiyesinde bulunayım. Olay çok basit. Fiyatı düşükken alacaksın, fiyatı yüksek iken satacaksın :tamam2:
 
Koyundan köşeyi dönmek yerine yazılımdan dönebilir bence riski de az hem :katil1:
 
  • Haha
Reactions: nt
Koyundan tek para kazanan, onu icat edip başımıza musallat edenler. Diğer kitleler sadece kendini kandırıyor. Hani Las Vegas'a gidersin de şans eseri o kollu makinada 1000 dolar kazanırsın. Sonra da gaza gelip evi arabayı satarsın ve 50 bin dolar kaybedersin, onun gibi.

En iyisi uzak duracaksın. Ola ki birgün yasal zorunluluk olur ve kağıt para kalkar, o zaman yapacak birşey yok.
 
  • Haha
Reactions: nt
Koyundan tek para kazanan, onu icat edip başımıza musallat edenler. Diğer kitleler sadece kendini kandırıyor. Hani Las Vegas'a gidersin de şans eseri o kollu makinada 1000 dolar kazanırsın. Sonra da gaza gelip evi arabayı satarsın ve 50 bin dolar kaybedersin, onun gibi.

En iyisi uzak duracaksın. Ola ki birgün yasal zorunluluk olur ve kağıt para kalkar, o zaman yapacak birşey yok.
İnşallah Las Vegas da ki amcam 1000 doları harcamaz da miras kalır o para iyi bir skop alırdık :katil1: :katil1: :katil1:
 
ben kripto borsasına da girdim hisse senedi borsasına da girdim. ama hiç birikim yapıp biriktirdiğim para ile girmek nasip olmadı. bu sebepten ne kadar sabır desem de hep kaybettim. halbuki o kadar teknik ve temel analiz yapıyordum. grafiklerimi yüzlerce kişi hayranlıkla izliyordu. :D borsa zamana karşı oynayanı affetmiyor. tek öğrendiğim borsanın oyun alanı değil uzun vadede yatırım aracı olduğu. uzun vade için tek stratejim 4 saatlik mum grafiklerindeki 200'lük hareketli ortalama ve kademeli alım. uzun vadeden kasıt ucuzken alınan bir hisseyi 3-5 yıl elinde tutarak birikimine birikim katmak. bizde birikim diyince yastığın altına altın koymak gelir, avrupalılar da hisse senedi... bizde yatırım kültürü yok. maaşında köşeye attığın küçük paralar yıllar geçtikce büyük paralara dönüşüyor.
 
Son düzenleme:
Ben geçtiğimiz Eylül ayında hisse senedi almaya başladım. Son 1 haftaya kadar hep zarardaydım. İnatla düşenleri topladım. Düştükçe daha çok aldım. Hem ucuza aldım, hem maliyetim azaldı. Son 1 haftadır Toplam paramın 10%'u kadar kârım oldu. Yine düşerse yine alıcam.
Aslında bu biraz da yasal kumar, yada günahı olmayan kumar gibi. İnsan kumar bağımlısı gibi hisse aldıkça hırslanıyor. "10 hissem var, 10 daha alıyım yirmi olsun" diyorsun. Böyle böyle benim 250civarı hisse oldu. Bekliyoruz bakalım 5 sene sonra ne olacak? :)
 
Şimdi bu modelin sonucu ne olacak yani bize be çıktı verecek
 
veri setindeki özellikler ile öğreniyor şuanda sonuçdan bende tam enim olmamakla birlikte amacım:
kullanıcının yaşına, eğitim seviyesine, yaşadığı ülkeye , vb. bilgiler ile ona birikim konusunda yardımcı olması

İşte yardımcı olmaktan kasıt nedir “sen bu ay maaşının % 10 unu birikime ayır çunkü benim veri setimde sana benzeyenler oyle yapıyor”
Mu diyecek yada “git kredi çek “ mi diyecek
Bir de Kendi hatalarından oğrenme nasıl olacak hata yaptıgını kim söyleyecek
 
  • Beğen
Reactions: nt
Bir milyon adım, benim makinaya çok geldi.
10*10 yapıp BİN adımda eğittim
model ek'tedir

Kod:
n_episodes = 10
n_steps_per_episode = 10
 

Ekler

  • finansmodeli.zip
    16.9 KB · Görüntüleme: 71
Son düzenleme:

Çevrimiçi personel

Çevrimiçi üyeler

Forum istatistikleri

Konular
6,944
Mesajlar
118,663
Üyeler
2,821
Son üye
Sfkzdmr

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top