-
Notifications
You must be signed in to change notification settings - Fork 30
/
l4
21 lines (18 loc) · 2.54 KB
/
l4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1. Rozszerzyć źródła danych do 4 API, porównywać 4 pary zasobów (np BTC-USD i BTC-LTC, ...) i ich ceny kupna-sprzedaży na przestrzeni czasu.
Tym razem na podstawie cen kupna / sprzedaży z pośród poszerzonej bazy macie za zadanie na bieżąco wyliczać czy występuje możliwość arbitrażu.
Pod pojęciem arbitrażu kryje się przeprowadzanie dwóch transakcji przeciwstawnych na dwóch różnych giełdach.
Pisząc bardziej zrozumiale - sprawdzacie czy da się kupić taniej w miejscu 1 i sprzedać drożej w miejscu 2.
Pamiętajcie, że chcąc kupić w miejscu X musicie patrzeć na oferty sprzedaży w miejscu X, a chcąc sprzedać w miejscu Y musicie patrzeć na oferty kupna w miejscu Y.
Program, jak poprzedni, ma się automatycznie odświeżać. Wynikiem jego działania ma być print informacji(przykładowo):
Na giełdzie X można kupić 0.1 BTC za USD po kursie 6800 i sprzedać na giełdzie Y po kursie 6900, zyskując 10USD.
(2.5pkt)
2. Przy kalkulacjach wziąć pod uwagę prowizję kupna sprzedaży na giełdach. Pamiętajcie, żeby brać tu pod uwagę prowizję podawaną typu Taker (tę wyższą), bo bierzecie ofertę cudzą, nie składacie własnej i nie czekacie aż ktoś się na nią zdecyduje.
(1pkt)
3. Założyć wirtualny budżet rozpatrywanych zasobów i w czasie rzeczywistym liczyć ile potencjalnie zarobilibyście na Waszych operacjach. Nie musicie brać pod uwagę opóźnienia w przesyłaniu środków pomiędzy giełdami.
Dla uproszczenia identyfikacji rozpatrywanego systemu zakładamy że dysponujemy środkami w każdej z rozpatrywanych walut na każdej z rozpatrywanych giełd.
(2.5pkt)
4. Stworzyć własny algorytm spekulacyjny (agenta decyzyjnego) polegający na zmienności rynku. Znajdźcie pary, które charakteryzują się stosunkowo dużymi wahaniami oscylacyjnymi (po polsku- "wykres przez długi czas idzie w bok, bez wyraźnego trendu spadku lub wzrostu, ale z dużymi wahaniami").
Po znalezieniu takich par stwórzcie algorytm który na podstawie historii stara się nauczyć gdzie warto kupować(gdzie znajduje się minimum lokalne) i gdzie warto sprzedawać (maksimum lokalne).
Przeprowadźcie symulację Waszego algorytmu, uwzględniając wolumen (ilość), odejmując koszty prowizji. Dla uproszczenia rzeczywistości Wasz algorytm ma działać w ramach jednej giełdy- bez transakcji arbitrażu pomiędzy giełdami.
Kupuje- sam decyduje co ile i za ile, sprzedaje- sam decyduje kiedy. Oczekiwanym rezultatem jest printowanie podejmowanych działań i ich wyników(czy udało się zarobić, czy algorytm sprzedał ze stratą).
(4pkt)