bossaAPI czyli automaty na Giełdzie

Ponad 10 lat temu w rozmowie ze Ś.P. Andrzejem Hermanem, twórcą programu Asher, rozważaliśmy możliwość bezpośredniego podłączenia jego aplikacji do bossa.pl Obaj uznaliśmy, że skoro jego Asher potrafi tworzyć algorytmy inwestycyjne, a bossa potrafi przekazywać zlecenia na giełdę bez udziału człowieka to dlaczego jego program nie mógłby inwestować sam? Wystarczy połączyć Asher’a i bossę i mamy Automat na giełdzie.

Wspominając ówczesny zapał do tego pomysłu, usta wykrzywiają mi się w ironicznym uśmiechu. Słodka naiwności młodego wieku. Przecież dla dostawców systemów do biur maklerskich otwarcie takiej bramki oznaczałoby utratę dochodów z ich rozbudowy i rozszerzeń. Dlatego na nasze propozycje dostawaliśmy odpowiedzi: „zróbmy coś innego”.

Z drugiej strony próby stworzenia takiego projektu upadały przy porównaniach jak dużo klientów będzie korzystać z takich udogodnień i kosztów wdrożenia.

Dlatego też pomysł na API do bossa.pl dostępnego dla przysłowiowego Kowalskiego odsuwał się w czasie i pozostawał tylko wizją.

A jednak się kręci?

Nie ukrywam, że w doprowadzeniu projektu do fazy realizacji pomógł mi rynek amerykański i … polscy inwestorzy. Wizja stała się faktem, który dokonywał się właśnie na innych rynkach, a nasi inwestorzy nie mieli zamiaru pozostawać w tyle. W sieci zaczęły się pojawiać programy, które „udawały” przeglądarkę, a nawet symulowały ruchy kursora, żeby umożliwić automatyczne składanie zleceń.

Zmieniło się także nastawienie dostawców systemów. Otwarcie na komunikację z innym oprogramowaniem stało się standardem w tzw. cywilizowanym świecie i nie przyniosło efektownych plajt tych dostawców.

Jak mówi klasyk „słowo stało się ciałem”, a bossaAPI rzeczywistością.

Co to właściwie jest bossaAPI?

Prawdę mówiąc trudno jest napisać o bossaAPI coś bardzo efektownego. Nie da się jej nawet pokazać na filmie czy zrzucie ekranu. Co gorsza dość trudno jest wytłumaczyć na czym polega w prostych słowach zrozumiałych przez większość inwestorów.

Bo cóż pasjonującego może być w „Interfejsie programowania aplikacji”?

W związku z tym, że większość inwestorów jest rodzaju męskiego to użyję prostego (część kobiet uzna, że nawet prostackiego) porównania. Wyobraźmy sobie drodzy Panowie, że spotykacie na swojej drodze kobietę Waszych marzeń, obok której nie możecie przejść obojętnie. Zapewne chcielibyście jej opowiedzieć całe swoje życie i świetlaną przyszłość, jaka ją czeka, jeśli tylko resztę swych dni spędzi z Wami. I cóż za niemiła niespodzianka gdy okazuje się, że Wasza wybranka nie rozumie z Waszego dialektu ani słowa. Jesteście całkowicie niekompatybilni, jak mawia mój kolega informatyk.

W takim wypadku jedyną szansą na szczęśliwy finał jest „zestaw funkcji i komunikatów zrozumiałych dla obydwu stron”.

W związku z tym, że zaczynam z porównaniem damsko-męskim wchodzić na grząski grunt wrócimy do rzeczywistości komputerowej.

BossaAPI to właśnie taki zestaw funkcji i komunikatów, za pomocą których można porozumiewać się z bossa.pl, a dokładnie z NOL3-bossa.pl. Komunikacja jest dwustronna i opiera się o standard komunikatów FIX Protocol, przesyłanych za pomocą XML’a.

Co może zyskać inwestor dzięki bossaAPI?

Większość z Państwa nadal nie do końca rozumie dlaczego bossaAPI może stać się przełomem w obsłudze inwestorów indywidualnych.

Otóż dzięki takiemu zestawowi komunikatów zrozumiałych dla bossa.pl oraz “otwartej bramce”, która będzie przyjmować polecenia od aplikacji zewnętrznych, inwestor zyskuje prawie nieograniczone możliwości komunikowania się z naszym systemem. I to bez pomocy tzw. interfejsu białkowego czyli człowieka.

bossaAPI pozwala bezpośrednio podłączyć do NOL3 bossa.pl m.in.:

· algorytmy inwestycyjne, które będą składały zlecenia na zasadzie komputer- komputer (bez udziału człowieka),

· własne interfejsy do obsługi rachunku oraz narzędzia do śledzenia zmian w notowaniach np. alerty, screenery, filtry, aplikacje do wykresów,

· inne platformy transakcyjne lub oprogramowania wspomagające inwestowanie,

· generatory nowych rodzajów zleceń np. OCO, trailing stop czy koszykowe na wiele instrumentów,

· oraz wiele innych narzędzi o których jeszcze nie wiemy.

Jako przykład wykorzystania bossaAPI przygotowaliśmy program bossaTrader. Mam nadzieję, że szczególnie przypadnie do gustu daytraderom oraz inwestorom bossafx, gdyż jego funkcjonalność przypomina interfejsy aplikacji foreksowych. Więcej o bossaTrader.

Czym bossaAPI nie jest?

Tu muszę zmartwić osoby, które już zaczęły liczyć miliony jakie zarobią podłączając czarną skrzynkę z genialnym algorytmem, który rozwiąże problem nietrafionych inwestycji. Pomimo tego, że w procesie technologicznym (składanie, przekazywanie zleceń, śledzenie notowań) człowiek wydaje się odgrywać coraz mniejszą rolę to nadal pozostaje niezastąpiony w tworzeniu systemów i procesie decyzyjnym. BossaAPI nie jest więc lekarstwem na, a raczej jednym z narzędzi, które pozwoli skupić się inwestorowi na podejmowaniu decyzji i przeniesieniu jej w sposób zautomatyzowany.

BossaAPI nie jest też językiem programowania systemów inwestycyjnych takim jak MQL4 dostępny w bossafx czy AFL w Amibrokerze.

Dlaczego uruchomiliśmy bossaAPI?

Złośliwi powiedzą, że liczymy tylko na High Frequency Trading czyli intensywne zawieranie transakcji przez automaty inwestorów. Byłbym hipokrytą gdybym napisał, że nie zależy nam na zwiększeniu obrotów. Liczymy jednak przede wszystkim na premię pierwszeństwa, jaką mają szansę zgarnąć nasi Klienci. Według naszej wiedzy, żadne polskie biuro nie udostępnia obecnie takiej usługi giełdowym inwestorom indywidualnym, a to oznacza, że macie Państwo szansę zyskać przewagę nad pozostałymi. Nie jest to warunek wystarczający ale znacząco pomagający zarabiać na giełdzie.

Co trzeba zrobić żeby skorzystać z bossaAPI?

Wystarczy pobrać ze strony Notowania (w serwisie transakcyjnym) NOL3 bossa.pl(przynajmniej wersję 3.0.29.44.I.7) i zainstalować go na swoim komputerze. Następnie zalogować się, uruchomić NOL3 bossa.pl i wybrać z menu Narzędzia opcję bossAPI. Więcej informacji.

Dlaczego bossaAPI wymaga uruchomionego NOL3 bossa.pl?

Zdajemy sobie sprawę, że część informatyków będzie niezadowolona z konieczności uruchamiania NOL3 bossa.pl i komunikowania się właśnie z tym programem (narzucenie platformy Windows).

Odpowiedź jest pragmatyczna. Naszą wiarę w rozwój tego segmentu musimy podbudować konkretnymi wynikami. Rosnąca liczba użytkowników bossaAPI przekona nas do zwiększania nakładów na ten projekt (np. rozszerzenia jego funkcjonalności i otwartości). Nie zamykamy się na inne rozwiązania ale jak mawiał klasyk „Nie od razu Kraków zbudowano”.

Przyszłość bossaAPI

O przyszłości bossaAPI jak zwykle zdecydują głównie nasi inwestorzy. Uruchomiliśmy platformę wymiany informacji i pomysłów – forum poświęcone bossaAPI.

Z zainteresowaniem zapoznamy się i przetestujemy aplikacje wykorzystujące bossaAPI, a najlepsze chętnie opiszemy w serwisie blogi.bossa.pl

Jesteśmy również otwarci na propozycje współpracy komercyjnej (w tym promocji płatnych aplikacji dla inwestorów).

Na zakończenie chciałbym złożyć podziękowania specjalnej grupie testerów bossaAPI, którzy znacząco przyspieszyli termin jego wdrożenia.

[Głosów:6    Średnia:3.7/5]

34 Komentarzy

  1. Bob

    W końcu….

  2. reptile

    Jak na to patrzeć w kontekście CFD DMA i możliwości MT4 ?
    http://www.phillipcfd.com/dma.asp

    Czy w bossa planuje się coś takiego?Rozważa?

  3. ukituki

    Świetne posunięcie. Właśnie odskoczyliście konkurencji o trzy długości, ale oni jeszcze o tym nie wiedzą, co to znaczy. Bossa staje się powoli Googlem polskich biur maklerskich.

  4. Atticus

    Gratulacje. Dziwilo mnie ze jeszcze zaden z polskich brokerow nie udostepnial API (przynajmniej nie indywidualnym). Bossa nadaje (wysokie) tempo na polskim rynku brokerskim. Ku zadowoleniu swoich klientow.

  5. Ali

    patrzyłem z zazdrością na terminal X-Trade Brokers a tu taka niespodzianka.Sam nie potrafię “złożyć” (nie znam C++) okienka ale przy próbie uruchomienia “bossaTrader_1.26.zip” wyskakuje błąd i nie wiem co z tym zrobić ale rozpakowując ZIP’a zauważyłem brak dwóch plików:BOSS_API(Program Debug D…),dlllog oraz katalogu Icons i być może brak tych elementów determinuje uruchomienie “BOSSA TRADER”

  6. iktorn

    Czy będzie jakiś tryb testowy, żeby nie wykonywać rzeczywistych transakcji a jedynie je emulować (i dopracować swoją aplikację nie rujnując rachunku)?

  7. mdlubak[bossa]

    @Ali – bardzo proszę o kontakt mailowy: m.dlubak@bossa.pl lub telefoniczny: (22)50-43-210, w celu wyjaśnienia problemu.

  8. mdlubak[bossa]

    @iktorn – na chwilę obecną nie, pomysł zanotowany 🙂

  9. ralfowitz

    Pospisuję się pod pomysłem iktorna. Tryb demo jest niezbędny, inaczej nici z jakichkolwiek eksperymentów i przewaga bossaApi nad konkurencją maleje, bo w zakresie tradingu sprowadza się do automatyzacji zleceń. Dla mnie to znaczne utrudnienie, że jakąkolwiek nową koncepcję mogę testować wyłącznie na “syntetycznych” instrumentach oferowanych przez nie-bankowe instytucje typu XTB czy wcześniej Admiralsi.

  10. pkx

    przejrzalem szybko dokumentacje i czy dobrze zrozumialem, ze we wlasnym narzedziu nie bede mogl otrzymywac potwierdzenia zawarcia transakcji? w przykladzie tak wlasnie jest, mozna sie tylko dowiedziec, czy zlecenie zostalo przekazane do NOL, ale nie mozna sprawdzic, czy zostalo zrealizowane. jesli tak rzeczywiscie jest, to cale API mija sie z celem — i tak trzeba siedziec przy komputerze i pilnowac, czy kazde zlecenie weszlo tak, jak trzeba.. prosze o komentarz w tej sprawie.

  11. yeellow

    Nareszcie, szkoda, ze musialo to czekac 10 lat :). I wszystko przez Comarch? 😉

    Teraz troche pomarudze: szkoda, ze NOL jest niezbednym posrednikiem, wolalbym komunikowac sie bezposrednio z serwerem. Tryb DEMO jest niezbedny do testow, przykro byloby stracic kase z powodu glupiego buga. Potwierdzenie zawarcia transakcji tez jest niezbedne, tak jak informacja o utraconym polaczeniu przez NOL (byc moze ta funkcjonalnosc jest, czytalem dokumentacje po lebkach).

    Ale ogolna tendencja bardzo dobra, do tej pory musialem troche kombinowac, zeby zautomatyzowac proces skladania zlecen. Mam nadzieje, ze API da mi cos wiecej w latwy sposob.

  12. mwojciechowski (Post autora)

    @all
    Potwierdzenie zawarcia transakcji jest – proszę dokładniej przeczytać dokumentacje ;). Jeśli będzie niezrozumiała to proszę o mail’a poprawimy.
    Tryb demo będzie o ile będzie wystarczająco duża liczba zainteresowanych. I będzie to raczej ograniczone demo (np. notowania z jednego dnia).
    Chętnych do testowania proszę o zgłoszenia na mój mail.
    P.S. Dzięki Comarchowi bossaAPI jest już dostępne 😉

  13. mwojciechowski (Post autora)

    @ reptile
    Nie mogę nic powiedzieć o planach w tym zakresie.

  14. TS

    Fajnie by było, gdyby bossa miała jakąś “lekką” aplikację do składania zleceń przez telefon komórkowy. To co jest teraz, czyli ładowanie całego serwisu to trochę zbyt skomplikowane rozwiązanie i wymagające dużego wyświetlacza w telefonie, czyli trochę nieporęczne. Były takie aplikacje na rynku – proste, tekstowe obsługiwane przez WAP, zupełnie wystarczające do złożenia zlecenia “jedną ręką”.
    To takie moje życzenie, bo niestety miałem z aktualną aplikacją problemy, które oczywiście rozwiązałem, ale to rozwiązanie pewnie nie wszystkim by się spodobało 🙂
    Pozdrawiam,
    TS

  15. jack

    API to wspaniałe posunięcie naprzód. Cały krok milowy…

    Jedno co mnie jednak nie zadowala to właśnie ów NOL3 – czy nie lepiej byłoby stworzyć nowszą aplikację: “bardziej na czasie!”…? Z konkretnym interfejsem, wykresami, analizą, historią zleceń… Coś na styl brokerów z rynków Forex. Byłoby to moim zdaniem lepsze posunięcie. Jako daytrader nie wyobrażam sobie klikania tysięcy ikonek dziennie by składać szybkie zlecenia…

  16. Lucky

    Prosze sie nie przejmowac, ze uzytkownikom kazecie uruchamiac NOLa – Interactive Brokers kaze swoim userom uruchamiac ichniejszeego TWSa, a ten jest duzo gorszy 🙂 Ciesze sie, ze w koncu mamy api.
    Brakuje mi jeszcze:
    1. Kontraktow na wig.
    2. Przeliczania PP i dywidend w notowaniach historycznych (napisalem do Was maila jak to znaczaco ulatwic dla kazdego zainteresowanego, ale nie dostalem zadnej pokrzepiajacej odpowiedzi).

  17. tomfid

    Przede wszystkim brawo! Druga sprawa to ten tryb demo i pana słowa: “tryb demo będzie o ile będzie wystarczająca liczba zainteresowanych”. Zainteresowanych do testowania trybu demo czy po prostu osób uważających, że musi istnieć rachunek testowy?

  18. MaverickOti

    Witam.

    Ja w kwestii sprecyzowania. Rozumiem, że pisze sobie aplikacje pod C++ która za pomocą instrukcji bossaAPI może komunikować się z NOL3. Dzieki takiemu rozwiązaniu mogę zautomatyzować proces składania zleceń. Dobrze rozumiem, że każdego ranka muszę odpalić fizycznie komputer -> zalogować się na bossa.pl -> odpalić NOL3-> odpalić moją aplikacje.

    Jestem na etapie pisania właśnie takiej aplikacji tylko, że w Pythonie. Plusem mojej aplikacji jest właśnie to, że jest na serwerze ale minusem, że nie może składać zleceń w trybie rzeczywistym.

    Jak mogę to połączyć. Czyli stworzyć aplikacje która będzie na serwerze i automatycznie będzie łączyć się z bossaAPI i składała zlecenia w trybie rzeczywistym??

    Pozdrawiam

  19. pkx

    @maverick:
    mozesz postawic vmware, albo vboxa na serwerze i w nim miec ciagle odpalonego nola. moze nawet pojdzie pod wine.

  20. mwojciechowski (Post autora)

    @TS
    Serwis dedykowany pod urządzenia przenośne lub aplikacja jest w planach. Więcej nie mogę napisać 😉

    @jack
    Zapraszam do dokładnego opisania (na maila) co masz na myśli pisząc konkretny interfejs. Co inwestor to inna koncepcja. M.in. dlatego wprowadziliśmy bossaAPI, żeby każdy mógł stworzyć sobie interfejs odpowiedni dla siebie.

    @Lucky
    1. Kontrakty na WIG tez bym chętnie widział na Giełdzie 😉 Albo ETF’y.
    To niestety nie do nas kwestia. Decyzja GPW, która zresztą dość rozsądnie pyta się zawsze o animatorów. Jeśli się znajdą chętni to GPW jest otwarta.
    2. Przeliczanie PP jest na liście projektów. Nie ma najwyższego priorytetu.

    @tomfid
    Stworzenie trybu demo z prawdziwego zdarzenia wymagałoby znacznych nakładów finansowych. Jeśli okaże się, że jest wystarczająco dużo osób, które będą wykorzystywały tryb demo do pisania konkretnych programów działających później w realu to weźmiemy na siebie te wysokie koszty. Stąd moja prośba o zgłaszanie konkretnego zapotrzebowania.

    @MaverickOti
    Musiałbyś napisać “skrypt” logujący i odpalający NOL’a jeśli nie chcesz logować się “ręcznie”. Utrzymywanie odpalonego NOL’a przez cały czas jest ryzykowne, ponieważ zdarzają się restarty, upgrade’y itp.

  21. redart

    Jaka wersję .NET framework jest potrzebna do uruchomienia Bossa Trader? Ściągnałem w wersji 4.0 ale po uruchomieniu Bossa Trader mam komunikat Bossa_Trader.exe – .NET Framework initialization error
    Unable to find a version of the runtime to run this application

  22. mdlubak[bossa]

    W teorii NET jest zgodny w dół, więc powinno działać, bardzo proszę o kontakt m.dlubak@bossa.pl oraz przesłanie logów z bossaTrader’a z katalogu /logs/

  23. MaverickOti

    Do mwojciechowski
    Tak też zrobiłem. napisałem skrypt który się loguje na konto ale tylko po to by złożyć zlecenie i sprawdzić czy zaszły jakieś zmiany na koncie. Taki mini automat.
    Ps: Ostatnio byłem u was na ul. Marszałkowskiej na rozmowie o prace 😀

    Pozdrawiam

  24. Gonzo

    @mwojciechowski:
    1. Dodajcie sami tak jak bylo chyba z kontraktami na indeksy US
    2. Dodajcie kolumne ‘zmiana %’ do pliku sesja.prn – jesli % zgadza sie ze zmiana kursow to nie ma PP/dyw, jesli nie – to mozna przeliczyc kurs odniesienia wstecz.

  25. Przemek

    Witam,
    @mwojciechowski Czy moze Pan potwierdzic, czy API umozliwia pociągnięcie danych intra dla danego waloru (wystarczy mi ostatnich 5 sesji). Chodzi o to, zeby przy ewentualnym braku prądu u mnie czy w bossa czy tez inszej awarii po 2h mozna bylo pociągnąć przez API brakujące transakcje.

  26. myst

    @Przemek
    W tej chwili API umożliwia ściąganie tylko danych bieżących, czyli od momentu uruchomienia programu.

  27. Przemek

    Ok dziękuję za odp. A jest przewidywana w przyszłości taka funkcjonalność?

  28. mdlubak[bossa]

    @All, Zapraszam na nasze forum poświęcone bossaAPI oraz wpisywanie swoich pomysłów dotyczących rozszerzenia bossaAPI o nowe funkcjonalności.

  29. HDK

    Przede wszystkim gratulacje – oby tak dalej!
    Należałem do osób które marudziły na brak API i niestety nie jego brak, a złe inwestycje mnie zmusiły do odpuszczenia ambicji inwestycyjnych. Może się teraz skuszę na odrobinę kombinowania.

  30. at

    Witam Panów:)

    Po pierwsze gratulacje za ostateczne wykonanie długo zapowiadanego kroku i trzymam kciuki żeby każdy kolejny był coraz bardziej udany, w Waszym i naszym – klientów – interesie to w końcu leży.

    Mam dwa pytania:

    1. Czy planujecie rozwijać samego BossaTradera? Np. o możliwośc składania zleceń z limitem (wybór z roziwjanego menu podobnie jak z nr rachunku) + jakaś informacja zwrotna o stanie rachunku to na początek.

    2. Statica jako dostawca danych jest nam dosyć dobrze znana jako program zaliczający spore lagi podczas większych emocji na rynku, ale przyznam że combo NOL+BT w ostatnich dniach jeszcze ją prześcignęło. Cała sprawa opisana tutaj:

    http://ifutures.pl/post16965.html#p16965

    Czy można prosić o jakieś ustosunkowanie się do sprawy tych opóźnień w prezentacji danych?

    Pozdrawiam serdecznie:)
    A.

  31. ajakubczyk

    @at
    Dziękujemy za gratulacje. Nad API ciągle pracujemy, realizujemy też plan wprowadzania nowych funkcjonalności na rachunkach.
    1. Bossatrader będzie rozwijany w miarę możliwości – wszelkie pomysły proszę zgłaszać na forum [dostęp po zalogowaniu do rachunku i przejściu na serwis informacyjny w dziale forum bossaAPI ]
    2. Rzadko dochodzi do opóźnień po stronie serwera dystrybucyjnego. Trzeba pamiętać, że większy ruch na giełdzie = więcej danych przesyłanych i jeżeli na codzień przy normalnej sesji nie ma opóźnień to w takiej sytuacji może się pojawić “wąskie gardło” które buforuje dane.

    Poproszę o informacje o systemie:
    – jakie łącze internetowe (dostawca, prędkość)
    – jaki program antywirusowy
    – jaki system operacyjny
    – jaki procesor i ilość pamięci RAM w komputerze
    – jakie programy oprócz NOL3, BT, Statica, antywirusa są uruchomione na komputerze w tym czasie.

  32. Pingback: Blogi bossa.pl » Zmiany w NOL3bossa.pl

  33. Pingback: Blogi bossa.pl » Konkurs bossaAPI – Twój automat na giełdzie

  34. dade7

    Jesli dobrze rozumiem API, to moge napisac koncowke rowniez w Javie (korzytajac np. z socketow i przesylajac string bedacy tak naprawde XMLem zgodnym z dokumentacja API). Port odczytam sobie z rejestru (w momencie jak NOL sie podlaczy). Ale nie moge nigdzie znalezc informacji o hoscie. Czyli moje konkretne pytanie jest takie – z jakim hostem powinienem sie polaczyc aby moc zestawic polaczenie? Czy jest to po prostu localhost?

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Proszę podać wartość CAPTCHA: *