Finansal Mühendislik Dersleri : Data düzenlemeleri ve Ağırlıklı Düzleştirilmiş Üssel Ortalamalar - 2

   İlk yazımızda finansal mühendisliğin zorlukları ve uyarılarımızla beraber küçük bir yol haritası çıkarmıştık. Henüz okumayanlar için ;

http://buraktunali.blogspot.com/2021/08/finansal-muhendislik-dersleri-nasl-para.html

Bu yazımızda öncelikle kullanacağımız ortamdan bahsedelim. Dileyenler daha önce söylediğimiz gibi Jupyter Notebook üzerinden çalışabilirler ama biz online olarak Google ın çalışma ortamı olan Google Colab ı kullanıyor olacağız.

Standart kullanımlar için ücretsiz.

 https://colab.research.google.com/notebooks/intro.ipynb?utm_source=scs-index 

Konumuza ait ve bir sonraki dersimizi de kapsayan dosyamız ise burada yükleyip kullanabilirsiniz.

https://github.com/Gmotes/PyhtonDataAnalysis/blob/master/SMA_EWMA_Holt'sLinear.ipynb

Öncelikle dersimizde kullanacağımız dosya olan csv yi daily olarak April den  -  TR deki siyah kuğu sonrası - başlayarak Today e  kadar investing.com dan indirelim. Dilimiz İngilizce olmalı. Olmazsa kolon isimlerini değiştirmemiz gerekiyor.



Google colab sitesine bir gmail account u ile girdikten sonra yeni bir notebook açın.


Bu dosyayı google colabın sizin için anlık oluşturacağı sanal makineye yüklüyorsunuz.

Bu oldukça basit bir işlem. Sanal makine işlem yapmazsanız bir süre sonra kendini durduruyor ve resource boşaltımı oluyor. Tabii ki csv file nız da kayboluyor.

Bu girizgahdan sonra kodlamamıza geçebiliriz. 


Üstteki ilk dört satırı kısaca özetleyelim. Pandas ve numpy kütüphanelerini import ediyoruz. Pandas ı kullanarak yüklediğimiz csv dosyasını günlük bazda okumasını ve bir dataframe e atmasını sağlıyoruz. Pandas ın içindeki Dataframe ise işlem yaparken major olarak kullanacağımız kütüphanemiz olacak.

https://pandas.pydata.org/docs/reference/frame.html

Üçüncü satırda bir sonraki dersimizin konusu olan Holt-Winters var. Dördüncü satırda kullanmayacağımız kolonları dataframe den düşürüyoruz ve dataframe in plot özelliğini kullanarak bastırıyoruz.


Devam edelim ; varsa - ki olmasını beklemiyoruz - duplicate rowların düşmesini sağlıyoruz. 

sort_index yapıp gün sıralamasını April in ilk iş gününe gelmesini sağlıyoruz. Reindex diyerek varsa eksik günlerin boş datalı bir şekilde oluşmasını sağlıyoruz. Time Seri Analizleri eksik günlerden hoşlanmıyor.  Freq vererek analizlerin hangi frekanstan yapılacağını belirtiyoruz. FFill ile de Na olan datalarımızı ilerleyerek dolduruyoruz BFill ile de geriye dönerek bu işlemi yapabiliyoruz ve son kısımda yazdırıp bakıyoruz. 






Dediğimiz gibi Dataframe bu analizler için biçilmiş kaftan ve ewm methodunu size direk sunuyor. En son mean metodu çalıştırarak ewma yı oluşturuyoruz. Burada alınan alpha değeri ise GOÜ larda 0.97 olarak alınıyor genellikle. En son plotlama yaparak bitiriyoruz. 

Şimdilik gcm yatırımın bu ortalamalar ile ilgili yazisinı sizinle paylaşayım ama tabi bizde yorumlayacağız. :)



Bu yazımızda biraz işin ABC si ile başlamış olduk. Bir sonraki yazımızda Holt-Winters ve ARIMA giriş ile devam ediyor olacağız.





Yorumlar

Bu blogdaki popüler yayınlar

IONIC BAŞLANGIÇ

Cannot resolve the collation conflict between “Turkish_CI_AS” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation

Golang working with interfaces and functions -3