Geri Dön

Cryptocurrency trading based on heuristic guided approach with feature engineering

Öznitelik mühendisliği ile sezgisel kılavuzlu yaklaşıma dayalı kripto ticaret işlemleri

  1. Tez No: 953015
  2. Yazar: ÇAĞRI KARAHAN
  3. Danışmanlar: PROF. DR. ŞULE ÖĞÜDÜCÜ
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2022
  8. Dil: İngilizce
  9. Üniversite: İstanbul Teknik Üniversitesi
  10. Enstitü: Lisansüstü Eğitim Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
  13. Sayfa Sayısı: 57

Özet

Son yıllarda, yapay zeka (AI) tabanlı teknolojiler, birçok farklı uygulama alanında önemli ölçüde popülerlik kazanmıştır. Bu farklı uygulama alanları ağdan finans sektörüne değişiklik gösterebilmektedir. Bu yapay zeka döneminin başlangıcını oluşturan dönüm noktaları vardır. Makine Öğrenmesi bu dönüm noktalarından biridir. Tükettikleri verilere dayalı olarak performansı öğrenen veya geliştiren sistemler oluşturmaya odaklanan bir çözüm biçimidir. Kısacası, yapay zekanın bir alt kümesidir. Sonuçları iyileştirmek için derin öğrenme, son zamanlarda uygulamalar tarafından makine öğrenimine ek olarak kullanılmaktadır. Makine öğrenimi algoritmaları neredeyse her zaman yapılandırılmış veri gerektirirken, derin öğrenme ağları yapay sinir ağlarının seviyelerine dayanır. Bu teknikler çoğunlukla finans sektöründe, insanların işlemlerine karar vermeleri gerektiğinde karı artırmak ve karar vermeyi optimize etmek için kullanılır. Finans sektöründe birçok yapay zeka uygulamaları bulunmaktadır. Finans sektöründe ilgilenilen pazar hakkında bilgi sahibi olmak, işleyişini yönetmek gibi çeşitli konularda yapay zeka birçok çözüm ortaya koymaktadır. Özellikle verileri anlamlandırma ve kişisel raporlar oluşturma gibi süreçler otomatikleştirilebiliyor. Finans sektöründeki ticaret kısmını ele almaktadır. İnsanların günlük hayatta takip etmekte zorlandığı dinamik piyasa yapısını incelemektedir. Dinamik piyasa yapısı gereği karar vermek de zorlaşıyor. Karar verirken insan yapısı gereği çeşitli duygulardan ve dış faktörlerden etkilenmektedir. Minimum kayıpla işlem yapmak, dinamik yapıya göre çok kısa sürede optimum karar vermeyi gerektirir. Para piyasalarında işlem yapan insanlar ve yatırımcılar için zaman çok önemlidir. Saniyelerin bile önemli olduğu bu işlemlerde yatırımcılar bilgisayar başında işlemlerinin gerçekleşmesini beklemek zorundadırlar. İnternet bağlantısı, başka bir işinin olması gibi sorunlara benzer durumlarda işlemlerini yaparken gecikmeler yaşayabilmektedirler. Bu durumda anlık işlem yapmak istediği piyasada istediği tutardan alamayabilir veya satamayabilir. Algoritmik ticaret bu koşullardaki yatırımcılar için konuşulmaktadır. Algoritmik ticaret, çeşitli teknik analiz göstergeleri ile oluşturulmuş sistemleri kullanan bilgisayarlar yardımıyla Forex, borsa, emtia ve birçok piyasada işlem yapılması anlamına gelmektedir. Algoritmik ticarete otomatik alım satım işlemleri de denilmektedir. Algoritmik ticaret, insan hatasını ortadan kaldırmayı amaçlar. İnsan duyguları ticaret sırasında insanın karar vermesini etkilemektedir. Yapılacak bir işlemde zarar etmesine neden olabilir. Algoritmik ticaret bu durumun önüne geçerek duygulara bağlı kalmadan teknik analizlerle karar vermeyi sağlar.Aynı zamanda algoritmik ticaret, seyrek gerçekleşen olayları yakalamanıza yardımcı olur. İnsan gözü saniyeler içinde gerçekleşen kur veya piyasa hareketini algılayamayabilir. Bilgisayar bu hareketleri yakalamamıza yardımcı olurlar. Bununla beraber algoritmik ticarette belirlediğimiz strateji üzerinden“Geri Test”yapılabilmektedir. Geri test, geçmiş verilerden yararlanarak stratejimizin nasıl çalıştığına dair bilgi toplamamıza yardımcı olur. Bitcoin/Amerikan Doları (BTC/USD) piyasası algoritmik ticaretin kullanıldığı piyasalardan biridir. Tezimizde bu piyasanın verileri üzerinden işlem yapılmaktadır. Diğer piyasalarda da uygulanabilmektedir. Bu piyasada işlem yapmamızın sebebi oldukça hareketli olması ve günümüzde çoğu insanın bu piyasa üzerinden işlem yapmasıdır. Tezimizde gerçekleştirdiğimiz işlemler gerçek zamanlı veriler ile yapılmaktadır. Geçmiş verilerdeki değerler ile yaptığımız testlerin sonuçlarını gerçek zamanlı veriler ile karşılaştırılabilir. İnsanlar bitcoin piyasasındaki alım ve satım noktalarına bakarak işlemlerini yapmaktadırlar. BTC/USD piyasasından mümkün olduğunca fazla kar elde etmeyi hedeflemektedir. Kar elde edebilmek için bu alım ve satım noktalarında karar verme ve bu noktaları yorumlayabilmek çok önemlidir. Makine öğrenimi bu noktada devreye girmektedir. Makine öğreniminin bir alt konusu olan pekiştirmeli öğrenme, kullanıcının yapıyı öğrenmesine ve kolayca karar vermesine yardımcı olur. Pekiştirmeli öğrenmede öğrenen bir makinemiz olduğunu düşünelim. Bu makinemiz aslında eylemi gerçekleştiren ve öğrenen bir etkendir. Bu algoritma makinemizin ne yapması gerektiğini öğrenmesi yaklaşımına sahiptir. Makinemiz çevre faktörleri tarafından karşılaştığı durumlara karşı tepki verir. Bunun karşılığında da bir ödül kazanır. Amacı olabildiğince deneyerek ödül kazanmaktır. Bu tezde ilk olarak algoritmik ticarette pekiştirmeli öğrenmenin en çok bilinen algoritmalarından olan Q-Öğrenme yaklaşımını kullandık. Q-öğrenme'de tahmin edildiği üzere amaç pekiştirmeli öğrenme ile aynıdır. Bir sonraki yapacağı harekete göre ödül kazanmaktır ve bu ödülü olabildiğince maksimuma çıkarmak için hareket etmektir. Buradaki ödül bizim tarafımızdan belirlenmektedir. Bu tezde algoritmik ticaretle birlikte makinemizin kar elde etmesi ve zarar etmemesi ödül olarak nitelendirilebilmektedir. Tezimizde kullanılan bir diğer yöntem ise Derin Q Ağı algoritmasıdır. Derin Q Ağı derin bir pekiştirmeli öğrenme algoritması kullanılarak eğitilmiş bir sinir ağı kısaca Q-öğrenmenin derin öğrenme kullanan bir versiyonudur. Derin pekiştirmeli öğrenme, pekiştimeli bir öğrenmeyi ve derin öğrenmeyi birleştiren bir makine öğrenimi alt konusudur. Derin pekiştirmeli öğrenme makinemizin durum uzayında manuel işlem yapmadan yapılandırılmamış giriş verilerinden kararlar alması olarak tanımlanabilir. Derin pekiştirmeli öğrenme algoritmaları büyük veriler üzerinde işlem yapabilmektedir. Tezimizde 5 senelik günlük veriler üzerinden işlem yapılmaktadır. Bu tezde, algoritmik ticaret olarak da adlandırılan döviz ticaretini otomatikleştirmek için yeni bir yaklaşım geliştirmeye odaklanıyoruz. Bu yaklaşımı yaparken, döviz ticaretinden maksimum kâr ve minimum zarar elde etmek için bir tür karar mekanizması oluşturmayı planlıyoruz. Bu mekanizma pekiştirmeli öğrenme ile desteklenir. Ek olarak, kötü kararlardan kaçınarak karı artırmak için pekiştirmeli öğrenme stratejimizi geliştirmek için yeni bir özellik ekledik. Öncelikle, Uygulama Programlama Arayüzlerini (API'ler) kullanarak canlı veri toplayan ticaret pazarımızı Bitcoin/Amerikan Doları olarak tanımlıyoruz. API'lerden güncel verileri aldıktan sonra, işlem noktalarını yorumlamak için veri setimize yeni bir özellik ekliyoruz. Bu aynı zamanda yaklaşımımızın kolayca karar vermesine yardımcı olur. Ardından, pekiştirmeli öğrenme tekniği ile desteklenen Kolektif Karar Optimizasyon Algoritmasının değiştirilmiş bir versiyonunu uyguluyoruz. Son bir yaklaşım olarak, aynı simülasyonları sadece Güçlendirme Stratejisinde ve ayrıca yeni bir özellik eklemeden çalıştırıyoruz. Farklı yaklaşımlarla farklı türde simülasyonlardan sonuçlar elde etmek, bunları kendi yaklaşımımızla karşılaştırmamıza yardımcı olur. Tezimizde ilk olarak kullandığımız derin pekiştirmeli öğrenme algoritması olan derin Q Ağı ile birlikte karar verme optimizasyonu sırasında sezgisel bir algoritma kullanıyoruz. Bu algoritmayı kullanmadan önce karar verme akışında epsilon açgözlü politikası kullanılmaktadır. Epsilon Açgözlü yöntemi oldukça eski ve kullanışlı bir yöntemdir. Temelde keşif ve sömürme arasındaki dengeyi sağlamak için kullanılan bir algoritma olarak düşünebiliriz. Ortamı keşfetmek ve daha iyi bir ödül mekanizmasını açığa çıkarmak için açgözlü politikaya olasılıksal bir değer ekleyip, o olasılık gerçekleştiğinde rastgele hareket etmesi hedeflenmektedir. Tezimizde karar verme akışında 3 farklı aksiyon bulunmaktadır. Bunlar al, sat ve tut aksiyonlarıdır. Bu aksiyonlar üzerinden işlemler gerçekleştirilmektedir. Bu epsilon açgözlü algoritmasının yerine modifiye edilmiş Kolektif Karar Optimizasyon Algoritmasını kullandık. Yapay sinir ağlarının eğitimi için kullanılan Kolektif Karar Optimizasyon Algoritması doğadan ilham almaktadır. Metasezgisel bir algoritmadır. İnsanın karar verme davranışı üzerinden düşünülerek geliştirilmiştir. Bir toplantı olduğunu düşünelim. Herkes fikrini söyler ve en doğru karar alınır. Genel olarak yapısı bu şekildedir. Bizim modifye ettiğimiz bu Kolektif Karar Optimizasyon Algoritmasında en doğru karar değil de ortamdaki ortak kararın alınılması söz konusudur. Ortamdaki herkes fikrini söyledikten sonra çoğunluğa göre karar verilerek işlem yapılır. Al, sat ve tut işlemlerinde eğer anlaşma sağlanamazsa piyasada hiçbir işlem yapmadan tutularak devam edilir. Bu şekilde tek ve doğru bir karar yerine birden fazla karar değerlendirilmiş olur. Tezimizde sonrasında önceden de bahsettiğimiz gibi veri kümemize yeni bir özellik ekliyoruz. Kullandığımız veri kümemizde yeni özellik eklenmeden önce tarih, açılış, kapanış gibi özellikler bulunmaktaydı. Sipariş bloğu olarak adlandırdığımız bu özellikle beraber alış, satış noktalarında durumu daha iyi yorumlayabilecek noktaya gelmiş bulunmaktayız. Sipariş bloğu, bir piyasaya veya borsaya alım veya satım emri gönderen bir ticaret bloğudur. Tüm sipariş ayrıntılarını belirlemimizi sağlar. Veri kümemizdeki tüm verilerde sipariş bloğu bulma algoritmamızı kullanarak hangi noktada hangi günde olduğunu dair bilgi sahibi oluruz. Bu şekilde veri kümemizi güncellemiş oluruz. Güncellenmiş veri kümemizi kullanırken satış veya alış yapacağımız sırasında o noktada sipariş bloğu varsa fiyatın yukarıya doğru veya aşağıya doğru hareket edeceğini yorumlayabiliriz. Bu şekilde algoritmamızın karar verdiği sırada sat veya al noktalarında satmayıp veya almayıp bu durumdan faydalanarak daha çok kar elde edebiliriz. Aynı şekilde para kaybedeceğimiz sırada bu durumu engellemiş oluruz. Sonuç olarak karı artırmak için iki yeni yaklaşımda bulunduk. Bunlardan biri veri kümemize yeni bir özellik ekledik. Eklenen yeni özellik ile beraber algoritmanın karar verme mekanizmasında aldığı aksiyonlar üzerinden işlem yaptık. Diğer bir yaklaşım olarak modifiye edilmiş Kolektif Karar Optimizasyon Algoritmasını geliştirdik. Modifiye edilmiş algoritma karar verme mekanizmasında tek bir fikir üzerinden değil birden fazla insanların fikirlerine bakarak daha fazla işlem yapmayı amaçlamıştır. Bu yaklaşımlarla beraber zarar edeceğimiz aksiyonların engellenmesini ve daha fazla işlem yaparak kar elde etme olasılığını artırmayı amaçladık. İlerleyen çalışmalarda veri kümemize eklediğimiz özellik gibi birden fazla özellik eklenebilir. Birden fazla özellik ile beraber karar verme akışında anlık durumu daha iyi yorumlayabiliriz. Bununla birlikte bizim eklediğimiz özellik tek bir zaman bloğu üzerinden günlük veriler ile işlem yapmaktadır. Bu zaman bloğunu daha da daraltırsak 4 saatlik, 1 saatlik ve 15 dakikalık gibi günlük verileri daha iyi yorumlayabiliriz. Modifiye edilmiş algoritmamızda iki farklı fikir üzerinden işlem görmektedir. Bu fikir sayısını artırırsak farklı fikirler üzerinden daha iyi sonuçlar alabiliriz. Kayıp riskini en aza indirgemiş oluruz.

Özet (Çeviri)

In the recent years, Artificial Intelligence (AI) based technologies have gained considerable popularity in lots of different application areas. These different application areas can vary from the network to the financial sector. There are turning points that form the beginning of this AI term. Machine Learning is the one of the these turning points. It is a form of solution that focuses on building systems that learn or improve performance based on the data they consume. In short, it is a subset of AI. To improve results, deep learning is recently used by applications in addition to machine learning. Machine learning algorithms almost always require structured data, while deep learning networks rely on levels of artificial neural networks. These techniques are mostly used in financial sector to increase profit and optimize the decision making when people need to decide their transaction. Moreover, because of the dynamic market structure in financial sector that need to handle, decision making also becomes hard. Making transaction with minimum loss needs an optimum decision making in a very short time according to dynamic structure. Algorithmic Trading means trading Forex, stock market, commodities, and many markets with the help of computers using systems created with various technical analysis indicators. Additionally, Bitcoin/American Dolar (BTC/USD) market is the one of the market that is used by algorithmic term. People aim to get as much profit as possible from BTC/USD market. They do their transactions by looking buying and selling points in Bitcoin market. For these kind of operations, decision-making becomes more important according to get maximum profit. As a sub-topic of machine learning, reinforcement learning helps user to learn structure and make decisions easily. In this thesis, we focus on developing a novel approach to automate currency trading that is also called algorithmic trading. When doing this approach, we plan to create a kind of decision mechanism to get maximum profit and minimum loss from currency trading. This mechanism is supported by reinforcement learning. Additionally, we add a new engineering feature to enhance our reinforcement learning strategy to increase profit by avoiding the bad decisions. First of all, we describe our trading market as Bitcoin/American Dolar with collecting live data by using Application Programming Interfaces (APIs). After we get current data from APIs, we add a new feature on our dataset to interpret the trading points. This also helps our approach to decide easily. Then we implement a modified version of Collective Decision Optimization Algorithm that is supported by reinforcement learning technique. For a final approach, we run same simulations in only Reinforcement Strategy and also without adding a new feature. Getting results from different kind of simulations with different approach helps us to compare them with our approach.

Benzer Tezler

  1. Automated cryptocurrency trading using machine learning methods

    Makine öğrenmesi yöntemleri ile otomatik kripto para ticareti

    FARUK ÖZER

    Yüksek Lisans

    İngilizce

    İngilizce

    2021

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolBahçeşehir Üniversitesi

    Büyük Veri Analitiği ve Yönetimi Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ CEMAL OKAN ŞAKAR

  2. Trading strategy based classification on cryptocurrency price prediction

    Al/sat stratejisi merkezli kripto para fiyat tahmini sınıflandırması

    MEHMET ALİ ATÇEKEN

    Yüksek Lisans

    İngilizce

    İngilizce

    2021

    EkonomiTED Üniversitesi

    Temel Bilimler Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ CEYDA YAZICI

    DR. İNAN UTKU TÜRKMEN

  3. Algorithmic trading on cryptocurrency markets using machine learning techniques

    Makine öğrenmesi teknikleri ile kripto para piyasalarında algoritmik işlemler

    ÇAĞDAŞ AKTEPE

    Yüksek Lisans

    İngilizce

    İngilizce

    2018

    Endüstri ve Endüstri MühendisliğiBoğaziçi Üniversitesi

    Endüstri Mühendisliği Bilim Dalı

    YRD. DOÇ. DR. MUSTAFA GÖKÇE BAYDOĞAN

  4. Kripto paralarda seçilmiş sistematik yatırım stratejilerinin karşılaştırmalı analizi

    A Comparative Analysis of Selected Systematic Investment Strategies in Cryptocurrency Markets

    EGEMEN KAHRAMAN

    Doktora

    Türkçe

    Türkçe

    2025

    İşletmeMuğla Sıtkı Koçman Üniversitesi

    İşletme Ana Bilim Dalı

    PROF. DR. ERKAN POYRAZ