Import w trybie zaawansowanym

Tryb zaawansowany pozwala tworzyć złożoną logikę importu. Wielu brokerów i źródeł danych dostarcza dane, które nie odpowiadają bezpośrednio transakcjom. Może to wymagać dostosowania logiki w zależności od typu działania, odwoływania się do innych wierszy lub arkuszy albo śledzenia cech w zmiennej współdzielonej. Tę elastyczność zapewniają programowalne presety.

Tworząc nowy preset, pomożemy Ci skonfigurować podstawy. W dowolnym momencie możesz przełączyć się na tryb zaawansowany, aby uzyskać dostęp do opisanych tu funkcjonalności.

Najpierw przeczytaj artykuł o podstawach .

A teraz przejdźmy przez różne instrukcje dostępne podczas importu.

Dodawanie transakcji

Każda dodana transakcja wymaga co najmniej Daty, Typu transakcji oraz Aktywa. Transakcje kupna i sprzedaży wymagają również Ceny i Ilości, natomiast transakcje przychodów i inne będą oczekiwać Wartości.

Po utworzeniu pierwszej transakcji zostanie ona wyświetlona w dedykowanej zakładce transakcji.

Dodawanie kont

Każde dodane konto wymaga co najmniej Nazwy.

Konto można oznaczyć jako opcjonalne, co oznacza, że nie zostanie dodane, dopóki żadna z transakcji nie będzie się do niego odwoływać.

Po utworzeniu pierwszego konta zostanie ono wyświetlone w dedykowanej zakładce kont. Pamiętaj, że konta opcjonalne nie będą tam widoczne, dopóki żadna transakcja z nich nie korzysta.

Aby użyć takiego konta, skorzystaj ze specjalnego parametru Dodane konto , do którego możesz przypisać zarówno zmienne, jak i parametry.

Zrzut ekranu interfejsu automatyzacji przepływu pracy przedstawiający kroki dodawania konta i transakcji z powiązaniem zmiennych i zaznaczonymi połączeniami.Konto można przypisać zarówno do zmiennej, jak i dowolnego parametru.

Dodawanie aktywów

Każde aktywo dodawane przez preset wymaga przynajmniej Name, Type oraz Currency. Ustaw Symbol, jeśli plik go zawiera. Market Data Source używa istniejącego symbolu rynkowego do pobierania cen; jeśli symbol ten może być nieobecny w katalogu, włącz przełącznik optional, aby wiersz został zaimportowany bez źródła kwotowań.

Wskazówka tego przełącznika to use manual prices instead of failing. Odroczone lub nieudane wyszukiwanie w katalogu nadal skutkuje błędem wiersza; tylko potwierdzony brak danych powoduje przejście na ceny ręczne.

Aktywa można oznaczyć jako opcjonalne, co oznacza, że nie zostaną dodane, jeśli żadna z transakcji się do nich nie odwołuje.

Po utworzeniu pierwszego aktywa pojawi się ono w dedykowanej zakładce aktywów. Pamiętaj, że opcjonalne aktywa nie będą tam wyświetlane, dopóki żadna transakcja ich nie użyje.

Aby użyć takiego aktywa, skorzystaj ze specjalnego parametru Dodane aktywo , do którego możesz przypisać zarówno zmienne, jak i parametry.

Zrzut ekranu interfejsu oprogramowania finansowego służącego do dodawania aktywów i transakcji, z menu rozwijanymi dla typu aktywa, symbolu, kraju i konta.

Pobieranie taksonomii aktywa rynkowego

Jeśli tworzysz duplikat symbolu rynkowego — np. instrument pochodny lub opcję — możesz chcieć pobrać taksonomie (sektor, region i kategorię) symbolu bazowego.

W tym celu dodaj wyciąg Zaktualizuj taksonomie aktywów po ustawieniu parametru ISIN lub Źródło danych rynkowychdla aktywa.

Tworzenie własnych aktywów z pliku

Gdy numeru ISIN nie ma w bazie danych rynkowych — co jest częste w przypadku obligacji — pozwól, aby preset utworzył aktywo na podstawie kolumn wiersza: przypisz kolumnę ISIN do Symbol, kolumnę z nazwą do Name, a Type ustaw na Bond (Obligacja) lub Deposit (Depozyt). Jeden preset mapuje wtedy transakcje i tworzy aktywa w trakcie działania, co jest praktycznym sposobem na zaimportowanie drabiny obligacyjnej z własnego arkusza.

Preset może skonfigurować wycenę opartą na odsetkach podczas tworzenia aktywa. Wewnątrz Add Asset umieść Use interest-based pricing przed Set interest parameters; dodaj Add interest parameters dla zmian oprocentowania z datą. Jeśli plik nie zawiera tych terminów, pozostaw aktywo na wycenie ręcznej i zaksięguj kupony oraz wykup; obie operacje wpływają na stopy zwrotu.

Możesz również przypiąć giełdę, zamiast pozwalać mechanizmowi dopasowywania wybrać notowanie z najdłuższą historią cen: w sekcji Add asset dodaj instrukcję Set dla parametru Market. W ten sposób wbudowany preset Bossa utrzymuje swoje wiersze na GPW, a każdy wbudowany preset można edytować w ten sam sposób.

Przygotowywanie niepasujących aktywów i kont do utworzenia

Blok Details and custom asset setup w presecie aktywa przygotowuje obiekt oferowany, gdy przegląd nie znajduje dopasowania. Pola asset name, symbol oraz ISIN służą jako hasła wyszukiwania i wstępnie wypełniają formularz Add asset. Szkic jest dodawany do projektu dopiero po wybraniu przycisku Create w wierszu lub po uruchomieniu Create N missing objects.

Blok oferuje If, Set, Variable, Block, Exit, Comment, Update Asset Taxonomies, Use value-based pricing, Use interest-based pricing, Set interest parameters oraz Add interest parameters. Może on odczytywać wiersz, ale zapisywać dane może tylko do szkicu.

Pozostaw Asset puste w Add interest parameters wewnątrz tego bloku. Próba nazwania aktywa zakończy się błędem Only the asset being created can be changed here - remove the asset argument.

Preset konta używa Custom account setup do tego samego celu. Jego blok oferuje If, Set, Variable, Block, Exit oraz Comment, aby ukształtować szkic konta.

Ustawianie cen rynkowych

Wyciąg Ustaw cenę rynkową pozwala ustawić cenę dla określonego aktywa w określonej dacie.

Aktywo musi zostać utworzone przed wywołaniem tego wyciągu. Nie możesz więc dodać go do Dodaj aktywo, ale możesz użyć go jako wyciągu bezpośrednio po nim.

Zrzut ekranu interfejsu aplikacji finansowej do ustawiania ceny rynkowej dodanego aktywa przy użyciu bieżącej daty i kolumny ceny zamknięcia.

Konfigurowanie wyceny opartej na odsetkach

Preset w trybie zaawansowanym może tworzyć lub aktualizować harmonogram odsetek na podstawie kolumn pliku. Umieść Use interest-based pricing przed Market Data Source, po nim dodaj Set interest parameters dla warunków początkowych, a Add interest parameters wykorzystaj do zmian datowanych. Kolumna Pricing w tabeli przeglądu pokazuje metodę wyceny przed importem.

Use interest-based pricing zastępuje całą konfigurację wyceny aktywa. Typ aktywa dostarcza punktu wyjścia: Bond używa wartości nominalnej 100, Actual/Actual, rocznej kapitalizacji i rocznych płatności po stronie dodatniej, odzwierciedlonych sald oraz Market prices odczytywanych jako % of face value; Loan i Mortgage używają wartości nominalnej 1 oraz miesięcznej kapitalizacji po stronie ujemnej z odzwierciedlonymi saldami; Deposit używa wartości nominalnej 1 oraz miesięcznej kapitalizacji po stronie dodatniej bez odzwierciedlonych sald. Inne typy aktywów zaczynają się z pustymi polami.

Set interest parameters nakłada swoje wartości na te domyślne, więc puste pole zachowuje wartość typu. Kolumna oprocentowania lub kapitalizacji, której komórka jest pusta, nie zachowuje wartości domyślnej: wiersz kończy się błędem The interest rate is missing lub The compounding interval is missing. Użycie tego polecenia przed włączeniem wyceny opartej na odsetkach kończy się błędem Interest options require interest-based pricing to be enabled on the asset first.

Add interest parameters wymaga From date; bez niej wiersz kończy się błędem The date of the interest change is missing. Pozostaw Asset puste, aby zmienić dodawane aktywo, lub wybierz aktywo już znajdujące się w projekcie, aby utworzyć wiersz Update. Dla każdej strony salda i daty przechowywana jest jedna zmiana, więc ponowny import tego samego pliku nadpisuje tę zmianę zamiast dodawać kolejną. Zmiana dla nieskonfigurowanej strony kończy się błędem Interest is not enabled for <side> on this asset.

Wyszukiwanie danych w innych wierszach lub arkuszach

Niektóre bardziej złożone presety mogą wymagać wyszukiwania w innych wierszach — na przykład w celu zebrania opłat lub sprawdzenia istnienia innej transakcji.

Możesz określić, od którego miejsca rozpocząć wyszukiwanie, w jakim kierunku postępować, ile wierszy pominąć i kiedy zakończyć.

Dla każdego wiersza w zakresie wyszukiwania jego zawartość jest wykonywana. Kolumny wiersza nadrzędnego są nadal dostępne pod nazwą Column: * jak zwykle, natomiast kolumny wiersza wyszukiwania są dostępne pod nazwą 🔍 Lookup: * .

Wyszukiwanie możesz zatrzymać za pomocą wyciągu Exit . Możesz tam wybrać, czy wyjść z całego programu i przejść do następnego wiersza danych, czy też wyjść tylko o 1 poziom wyżej, co zatrzyma wyszukiwanie.

Zrzut ekranu przedstawiający automatyzację filtrowania anulowanych transakcji handlowych z wykorzystaniem logiki warunkowej i kroków wyszukiwania wierszy.Jeśli typ transakcji to „TradeCancel", przeszukujemy kolejne wiersze i pomijamy te, które mają ten sam identyfikator transakcji

Pomijanie wierszy

Możesz pominąć wiersze za pomocą wyciągu Pomiń wiersz . Po jego użyciu wiersz nie będzie brał udziału w żadnych wyszukiwaniach ani nie zostanie wykonany w głównej pętli.

Pomijanie wierszy podczas wyszukiwania pomija wiersz wyszukiwania, a nie wiersz nadrzędny.

To bardzo przydatna funkcja do oznaczania wierszy jako już obsłużonych.

Dodawanie notatek do wierszy

W dowolnym momencie możesz dodać notatkę do wiersza. Będzie ona wyświetlana w tabeli wynikowej obok wiersza, który został przetworzony.

Notatka dodana wewnątrz wyszukiwania (lookup) zostaje przypisana do wyszukanego wiersza, a nie do wiersza, który wywołał wyszukiwanie. Jest to działanie celowe — w ten sposób oznaczasz, które wiersze zostały wykorzystane przez wyszukiwanie. Aby dodać adnotację do wiersza źródłowego, zapisz tekst do zmiennej podczas wyszukiwania, a następnie dodaj notatkę z zawartością tej zmiennej po zakończeniu wyszukiwania.

Wiele sekcji danych

Niektóre pliki zawierają więcej niż jeden typ elementów. Na przykład pojedynczy plik może zawierać zarówno konta, aktywa, jak i transakcje.

Na stronie Źródło danych możesz dodać dowolną liczbę sekcji. Mogą one odwoływać się do tej samej lub różnych części pliku, mieć własny zestaw kolumn i własne programy.

Niektóre sekcje mogą być opcjonalne, co oznacza, że jeśli nie zostaną znalezione, preset nadal będzie działać.

Możesz traktować różne sekcje jak arkusze w pliku Excel. Mogą one tworzyć obiekty lub służyć wyłącznie do wyszukiwania wierszy — tak jak robi się to między różnymi sekcjami.

Generowanie transakcji z pojedynczych danych wejściowych

Preset potrzebuje danych wejściowych, aby zadziałać, ale tymi danymi może być pojedyncza liczba. W przypadku cyklicznych zakupów rozłożonych na kilka funduszy lub ETF-ów, stwórz preset, który przyjmuje całkowitą kwotę zakupu w danym miesiącu i generuje jedną transakcję BUY dla każdego aktywa, ustawiając tylko parametr Value. Pozostaw Price oraz Quantity puste: system importu pobierze cenę rynkową z tego dnia i na jej podstawie obliczy ilość. Każdego miesiąca wklejasz kwotę i uruchamiasz proces.

Jest to stała alternatywa dla punktu wyjścia Historia transakcji w Import z pliku, który jest prostszym narzędziem, gdy chcesz zaimportować całą serię historyczną za jednym razem.