Python ve Otomasyon

Python, 1980’lerin sonlarında Guido van Rossum tarafından Hollanda’daki Centrum Wiskunde & Informatica Araştırma Enstitüsü’nde geliştirildi. Van Rossum, ABC adlı bir programlama dilinde çalışırken, bu dilin eksikliklerini gidermek için bir dil geliştirmeye karar vermiş. Daha doğrusu yılbaşı tatilinde canı sıkılmış ve hobi olarak yapmaya başlamış ve devam etmiş. Üzerinde çalıştığı ABC dilinin hoşuna giden taraflarını araklamayı da ihmal etmemiş. Neticede günümüzün en popüler programlama dillerinden birini 1991 yılında hayata geçirmiş. Bu arada Python adını, çok sevdiği BBC’de yayınlanan Monty Python komedi ekibine atfen vermiş. Kimse duymasın: ben adını ilk duyduğumda piton yılanına atfen bu ismin verildiğini düşünmüştüm. 🙂 Zira kişisel bilgisayarımda da Python’a Anaconda üzerinden erişiyorum. Bir süredir vaktimin önemli bir kısmını bu dile aşina olmaya harcıyorum. Zira seçime kadar alım satım işlerine ara verdim.

Python nedir?

Açık kaynak kodlu, yüksek seviyeli bir programlama dilidir. Özellikle, yapay zeka, veri analizi, bilimsel hesaplama, web geliştirme ve yazılım testi gibi alanlarda yaygın olarak kullanılır. Öğrenmesi kolay bir dildir. Geniş kütüphane desteği ile diğer programlama dillerine kıyasla daha hızlı geliştirme süreçleri sunar. Ayrıca, platformlar arası çalışabilirliği de destekler. Yani bir platformda yazılan Python kodu diğer platformlarda da çalıştırılabilir. Birçok programlama dili ile entegre edilebilecek şekilde tasarlanmıştır. Son olarak ücretsizdir.

Finans alanında neden popüler?

Çünkü finansal verilerin analizi ve işlenmesi için ihtiyaç duyulan araçların hızlı ve etkili bir şekilde geliştirilmesine olanak tanıyor. Finans sektöründe, büyük veri setleri işlemek, verileri görselleştirmek, analiz etmek ve finansal modeller oluşturmak gereklidir. Python, finansal verileri işlemek ve analiz etmek için kullanılabilecek birçok kütüphaneye sahiptir.

Neden öğrenmek istiyorum?

Birkaç sebebi var. Birincisi meraklı bir insanım. Yeni şeyler öğrenmeyi ve denemeyi seviyorum. İkincisi, yaptığım regresyon analizleri için kullandığım istatistik programının yeni versiyonları oldukça pahalı. Yıllık bin dolara yakın ücret istiyorlar. Python ise beleş. Üçüncüsü, bu dil ile yapabilecekleriniz hayal gücünüz ile sınırlı. Tabi teknik bilgi ve biraz da para lazım. Ama o kadar olsun. Teknik bilgi kısmında OpenAI’ın yapay zeka uygulamalarından sürekli danışmanlık alıyorum. Basit ve yer yer ahmakça sorularıma yılmadan cevap vermeye çalışıyor. 🙂

Neler yaptım?

Google Colab

Öncelikle kodlamayı yapabileceğiniz bir ortama ihtiyaç var. İlk olarak kişisel bilgisayarıma Anaconda‘yı kurdum. Anaconda, Python dilini kullanarak veri analizi, makine öğrenmesi, yapay zeka ve bilimsel hesaplamalar için kullanılan açık kaynaklı bir dağıtımdır. Jupyter Notebook ise interaktif bir programlama ortamıdır. Jupyter Notebook, birçok programlama dili için kullanılabilir ve kodun yanı sıra yorumlar, belgeler, deneyler ve sonuçlar içeren bir not defteri şeklinde çalışır. Bu özellik, kullanıcıların kodu hızlı ve kolay bir şekilde test etmelerine, notlarını tutmalarına ve sonuçlarını paylaşmalarına olanak tanır. Ancak, bu yöntem yanımda sürekli bir bilgisayar taşımayı gerektiriyordu. Bu soruna bir çözüm ararken Google Colab‘ı (Google Colaboratory) keşfettim.

Google Colab, bulut tabanlı bir Python kodlama ortamıdır. Google öğrenciler, araştırmacılar ve geliştiriciler için ücretsiz bir hizmet olarak sunuyor. Colab, Google’ın Cloud altyapısını kullanarak, herhangi bir donanıma veya kurulum gereksinimine ihtiyaç duymadan, internet bağlantısı olan herhangi bir cihazdan kod yazmanıza, çalıştırmanıza ve paylaşmanıza olanak tanıyor.

Google Cloud’ta sanal bilgisayar

İş bilgisayarındaki kısıtlamalar nedeniyle programları doğrudan çalıştıramıyorum. Ayrıca, tam otomasyon sağlamak için yedi gün 24 saat çalışacak bir bilgisayara ihtiyaç var. Google Colab geçici bir çözüm. Bu sorunun nihai çözümü bir bulut ortamında sanal bir bilgisayar kiralamaktı. Google Cloud, belli bir süreliğine ve 300 dolar kredi tanımlayarak ücretsiz deneme yapmanıza izin veriyor. Potansiyel müşterinin ayağını alıştırıyor yani. 🙂 Diğer seçenekler Amazon Web Service ve Microsoft Azure. Sıfır teknik bilgi ve Google arama motoru yardımı sayesinde Linux işletim sistemli (çünkü ücretsiz) bir sanal bilgisayar kurabildim. İlk programlarımı yükleyip, çalıştırdım. Benim için önemli insanlık için anlamsız bir başarı oldu. 🙂 Ancak bu hafta deneme süresi bitiyor. İstediklerimi yapabilirsem para ödemek durumunda kalacağım muhtemelen.

Veri indirme ve regresyon analizi

İlk denemem Yahoo Finance’dan veri indirme üzerine oldu. Hem Google Colab hem de sanal bilgisayar ortamında artık bu işi yapabiliyorum. Bir sonraki aşama ise indirdiğim dosyalardaki verilerin kontrolü ve düzeltilmesi oldu. ChatGPT yardımıyla bunu da hallettim. Regresyon kısmı ise biraz daha zor oldu. Geleceğe dönük tahmin kısmını henüz yapamadım. Ancak, regresyon verilerini (csv dosyası) ve grafikleri (png dosyası) elde edebilen bir kod oluşturabildim. Ayrıca, web kazıyıcı kodlar da yazdım. Böylece, Bist ve S&P 500’deki firmaların güncel sembollerini internetten bulup bir dosyaya kaydedebiliyorum. Son olarak, güncel fiyatları uzun dönem trendinden ne kadar saptığını tespit edip raporlayan bir program yaptım. Yani Bist’te uzun dönem trendinden üç standart sapma alta düşmüş firmaları kolaylıkla tespit edebiliyorum.

Bu konudaki nihai vizyonum ise şu: sanal bilgisayarda bu programlar belli aralıklarla kendi kendilerine çalışacaklar. Regresyon analizleri otomatik yenilenecek. Belli periyotlarda ucuz şirketlere ilişkin rapor otomatik olarak e-postama düşecek. Blogtan istediğim firmanın güncel grafiğini ve veri dosyasını görebileceğim. Üstelik sadece Bist ve S&P 500 değil. Sermaye piyasalarında işlem gören ve verilerine ulaşabildiğim dünyadaki bütün şirketleri kapsamayı planlıyorum. Tabiki şu an bu noktaya uzağım. Gerçekleşmeyebilir. Ama yolculuk keyif veriyor. 🙂

Olağan şüpheliler

Manipülasyon Teknikleri ve Borsa İstanbul başlıklı yazımda şüpheli işlemleri tespit eden bir programı tanıtmıştım. İşte o programı Python’da yeniden oluşturdum. Hem Borsa İstanbul hem de S&P 500 şirketleri için çalıştırdım. Bir sonraki aşamada ABD sermaye piyasalarında işlem gören altı binin üzerindeki şirketi taratmayı planlıyorum. Buradaki nihai vizyonumda yukarıdaki ile aynı: tam otomasyon.

Neyi yapamadım?

Buraya kadar başardıklarımı anlattım. Ancak öğrenme süreci oldukça acılı oluyor. Üstte bahsettiğim kodları yazmak çok zaman aldı. Birçok kezde başarısız oldum. Aslında, yukarıda vizyon olarak bahsettiğim şey veri tabanlı bir uygulama yaratmak. Dün bir başka veri tabanlı uygulama yaratmak istedim. Haber Bülteninde yer alan anketlerden anladığım kadarıyla yurtdışı piyasalara yatırımda dil önemli bir engel. Önemli sayıda insan da ETF yerine hisse seçmek istiyor. Ancak, dil engeli nedeniyle finansal raporları okuyamıyorlar. Bende OpenAI’ın yardımıyla kullanıcının talebine binaen orijinal finansal raporu çekip, Türkçeye çeviren bir uygulama geliştirmek istedim. Sonucu baştan söyledim: başarılı olmadı. Ama böyle bir uygulama için hangi altyapılara ihtiyaç duyulduğunu anlamış oldum. Örneğin Google Cloud’ta bir pdf dosyasının çeviri maliyeti sayfa başı 25 sent. Yani 100 sayfalık bir raporun çeviri maliyeti 25 dolara geliyor. 🙂

Sonuç olarak

Yapay zekadaki teknolojik ilerleme yazılımcı talebini azaltacak gibi duruyor. Hatta Code Interpreter adlı ChatGPT eklentisi veri işleri ile uğraşanlar açısından yeni bir dünyanın kapısını açıyor olabilir. Bununla birlikte, çalışma hayatının başında bir genç iseniz Python öğrenmeye bakın derim. Zira birebir kod yazarak para kazanmasanız bile işlerin nasıl yürüdüğüne ilişkin bilgi sahibi olmak büyük avantaj sağlar. Genel olarak finansal veri analitiği işinin gelecekte yapay zeka uygulamalarınca yapılacağını öngörüyorum. Zaten Bloomberg’de şimdiden finansa özel kendi yapay zeka uygulamasını geliştirdi. İşlerin geleceği nihai nokta bu. Ancak, bu uygulamalar henüz matematik işlemlerinde pek iyi değil. Ama iyi olacakları gün de gelecek.

Bir sonraki yazıda buluşmak üzere hoşçakalın.

Okuyucularıma Not

Pinti Değil Tutumluyum’a ilgi gösterdiğiniz için teşekkür ederim. Bu bloğu ayakta tutabilmek ve masraflarını karşılayabilmek için bağlı linkler kullanmaya karar verdim. Eğer burada yazdıklarımın size bir değer kattığını düşünüyorsanız, aşağıdaki linklere tıklayarak bana destek olabilirsiniz.

Ya da doğrudan bana bir kahve ısmarlayabilirsiniz: Buy Me a Coffee

Interactive Brokers ile 33 ülkede yer alan 135 piyasaya 23 farklı para birimi kullanarak erişebilirsiniz. Hisse senedi, tahvil, opsiyon, futures, FX ve fon işlemlerinizi çok düşük maliyetle yapabilirsiniz. Interactive Brokers hesabınıza para transferini Türkiye’de ki Türk Lirası hesabınızdan EFT yaparak gerçekleştirebilirsiniz. Bunun için Interactive Brokers hesabı açın.

Digiprove sealCopyright secured by Digiprove © 2023 Pintidegiltutumluyum

4 thoughts on “Python ve Otomasyon

  1. Iyi gunler,

    Size cloud pc olarak Linode onerebilirim, sabit 5 USD ile paylasimli bir linux sistem. Neden AWS ya da benzeri degil? Diger cloud pc servislerinde kullandiginiz veri uzerinden fiyatlandirilirsiniz.
    Ikinci olarak kodlarinizi yazmak icin Microsoft Visual Code programini ve binlerce eklentisini kullanmakta fayda var.

    Linear veya poly regression analizi icinde sckit-learn eklentisi python icin olmazsa olmazlardan.

    Regression analysis ozelinde, Tradingview’de “linear regression by dgrtd” kodu analiz yapmanizi ciddi anlamda kolaylastiracaktir. Aylik logaritmik chartlar icin ayri bir pinescript kod gerekiyor….

    Ne yazik ki yazilim ve finans gecmisim yok ama son 3 senedir, bende sizin gibi bir merakla finansal python ogrenmeye calisiyorum…

    Kolay Gelsin…

    1. Teşekkür ederim bilgiler için. Şimdilik AWS’nin free tier hizmetlerini kullanıyorum. Google Cloud’unkini tükettim. Aslında yazıda yazdığım işlerin %90’ını hallettim. Ancak otomasyon işini hala kotaramadım. Amazon’un Lambda hizmetini kullanmaya çalıştım. Ancak şimdilik olmadı. 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back to top