Jak uruchomić Mistral Timestral lokalnie do prognozowania szeregów czasowych
Czy Timestral od Mistral AI trafnie przewiduje ceny akcji? Naucz się uruchomić ten lekki model prognozowania szeregów czasowych lokalnie w Pythonie, przetestować go na prawdziwych danych giełdowych i generować sygnały Kup, Trzymaj, Sprzedaj oparte na AI.
Co by było, gdybyś mógł prognozować ceny akcji małym modelem AI, który działa lokalnie, zwraca prognozy w milisekundach i nie wymaga dodatkowego treningu?
Prognozowanie szeregów czasowych zwykle oznacza metody statystyczne, takie jak ARIMA, potoki uczenia maszynowego lub modele trenowane na konkretnym zbiorze danych. Timestral, rodzina modeli prognozowania o otwartych wagach wydana przez Mistral AI 15 października 2026 r., podchodzi do tego inaczej. Przewiduje przyszłe wartości na podstawie danych historycznych bez fine-tuningu, a według Mistral jego największy model zajmuje pierwsze miejsce wśród wstępnie wytrenowanych modeli zero-shot na trzech publicznych benchmarkach.
Mimo niewielkich rozmiarów, modele zapewniają konkurencyjną dokładność na wielu benchmarkach prognozowania i można je zastosować do wszystkiego — od rynków finansowych po zużycie energii i popyt w handlu detalicznym.
W tym tutorialu zobaczymy, czym jest Timestral i jak działa, skonfigurujemy go lokalnie w Pythonie i z uv, a następnie przetestujemy na prawdziwych danych akcji Apple (AAPL). Wygenerujemy kroczące jednodniowe prognozy, porównamy je z rzeczywistymi cenami zamknięcia i naiwną bazą odniesienia oraz zamienimy prognozy w proste sygnały Kup, Sprzedaj lub Trzymaj. Zobacz też nasze tutoriale o prognozowaniu szeregów czasowych z TimeGPT i ARIMA do prognozowania szeregów czasowych.
Czym jest Mistral Timestral?
Timestral to rodzina bazowych modeli szeregów czasowych od Mistral AI do szybkiego, ogólnego prognozowania. Bazowy model szeregów czasowych jest wstępnie trenowany raz na dużej, zróżnicowanej kolekcji szeregów, dzięki czemu potrafi prognozować dane, których wcześniej nie widział.
W przeciwieństwie do tradycyjnych modeli prognozowania, które wymagają treningu na konkretnym zbiorze danych, Timestral wspiera prognozowanie zero-shot. Przewiduje przyszłe wartości bezpośrednio z danych historycznych, bez dodatkowego treningu czy fine-tuningu.
Timestral to przyczynowy, oparty na patchach transformer trenowany głównie na danych syntetycznych, a następnie w drugiej fazie na miksie danych rzeczywistych i syntetycznych. Radzi sobie z cenami akcji, zapotrzebowaniem na energię, sprzedażą i pomiarami z czujników. Mistral opisuje architekturę i trening w raporcie technicznym.
Mistral udostępnił cztery rozmiary, każdy z innym kompromisem między wielkością, szybkością i dokładnością:
Model
Parameters
Weight size (FP32)
Timestral-5M
5 million
21 MB
Timestral-28M
28 million
111 MB
Timestral-123M
123 million
490 MB
Timestral-209M
209 million
837 MB
Zgodnie z opublikowanymi benchmarkami Mistral, Timestral-209M zajmuje pierwsze miejsce wśród wstępnie wytrenowanych modeli zero-shot na GIFT-Eval, TIME i fev-bench. W pokazywanych porównaniach pokonuje większe modele, takie jak TimesFM-3 i Falcon-2.0. To wyniki własne Mistral, zgłoszone na listy rankingowe GIFT-Eval i TIME, więc sprawdź rankingi dla niezależnego potwierdzenia.
Szybkość to kolejna zaleta. Na standardowym serwerowym CPU z 8 wątkami Mistral raportuje, że Timestral-209M prognozuje dzień naprzód na podstawie trzech tygodni historii w interwale 15-minutowym w 113 milisekund, a model 5M potrzebuje 17 milisekund. GPU nie jest wymagane.
Timestral wspiera następujące funkcje prognozowania:
Długi kontekst historyczny: Przyjmuje do 32 768 historycznych kroków czasowych.
Prognozowanie wielowymiarowe: Prognozuje wiele powiązanych szeregów jednocześnie, aby poprawić trafność.
Prognozy probabilistyczne: Zwraca 21 kwantyli do oszacowania niepewności prognozy zamiast pojedynczej wartości.
Kowariaty: Przyjmuje zmienne tylko z przeszłości oraz znane z przyszłości, numeryczne lub kategoryczne, które mogą wpływać na prognozę.
Wnioskowanie lokalne: Działa na CPU i GPU bez płatnego API. Kod jest wydany na licencji Apache 2.0, a wagi na zmodyfikowanej licencji MIT.
W tym tutorialu użyjemy Timestral-209M, największego i według opublikowanych benchmarków Mistral najdokładniejszego modelu z tej rodziny. Uruchomimy go lokalnie na NVIDIA RTX 4070, aby prognozować ceny akcji i ocenić jego skuteczność na prawdziwych danych rynkowych.
Skonfiguruj Timestral na Linuksie
Timestral wymaga Pythona 3.10 lub nowszego oraz PyTorch 2.4 lub nowszego. Użyjemy Pythona 3.12, PyTorch 2.7.0 i uv, aby stworzyć lekkie środowisko deweloperskie na maszynie z Linuksem. Timestral wspiera też wnioskowanie na CPU, więc GPU jest opcjonalne.
Najpierw sprawdź, czy twój GPU NVIDIA jest wykryty i czy sterowniki działają:
Uruchom ponownie terminal po instalacji uv, aby polecenie było dostępne w powłoce.
Teraz utwórz katalog projektu i wirtualne środowisko dla Pythona 3.12:
mkdir timestral-project
cd timestral-project
uv venv --python3.12source .venv/bin/activateObsługiwane przez
Następnie zainstaluj PyTorch 2.7.0 ze wsparciem CUDA 12.6:
uv pip installtorch==2.7.0 \
--index-url https://download.pytorch.org/whl/cu126Obsługiwane przez
Podczas testów build CUDA 12.8 wyrzucał błąd zgodności sterownika na naszym RTX 4070. Przejście na PyTorch 2.7.0 z CUDA 12.6 rozwiązało problem bez aktualizacji sterownika. W zależności od twojego GPU i sterownika NVIDIA możesz potrzebować innego buildu CUDA.
Jeśli nie masz GPU, zainstaluj zamiast tego build CPU, zamieniając adres indeksu na https://download.pytorch.org/whl/cpu. Kod później w tym tutorialu automatycznie przełączy się na CPU.
Używamy yfinance do pobierania historycznych cen akcji, pandas i NumPy do przetwarzania danych, a Matplotlib do wykresów cen rzeczywistych versus prognozowanych. Ograniczamy też wersję pandas do zakresu używanego w testach, aby uniknąć ostrzeżeń związanych ze zgodnością.
Przed dalszymi krokami sprawdź, czy PyTorch ma dostęp do twojego GPU:
python -c"import torch; print(torch.__version__); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'No CUDA GPU available')"Obsługiwane przez
Wartość True potwierdza, że CUDA jest dostępna dla PyTorch, a ostatnia linia identyfikuje GPU. Możemy zaczynać eksperymenty z Timestral.
Zamiast osobnych skryptów Pythona użyjemy JupyterLab, aby uruchamiać kod krok po kroku, przeglądać wartości prognoz i porównywać je z rzeczywistymi danymi rynkowymi. Uruchom JupyterLab z katalogu projektu:
Otwórz adres wyświetlony w terminalu, zwykle http://localhost:8888/lab, i utwórz nowy notebook Pythona, używając właśnie skonfigurowanego środowiska. W tym notebooku załadujemy Timestral, wygenerujemy prognozy i ocenimy skuteczność modelu.
Prognozuj ceny akcji Apple z Timestral
Zamiast tworzyć dane syntetyczne, użyjemy prawdziwych historycznych cen akcji Apple i zmierzymy, jak trafnie Timestral przewiduje cenę zamknięcia kolejnego dnia sesyjnego.
Aby eksperyment był bardziej realistyczny, zastosujemy kroczące prognozowanie jednodniowe. Dla każdego dnia sesyjnego w okresie testowym Timestral otrzymuje 500 poprzednich cen zamknięcia i przewiduje wyłącznie zamknięcie kolejnego dnia.
Porównamy też dwie metody:
Prognozowanie cen surowych: Bezpośrednia predykcja kolejnej ceny zamknięcia.
Prognozowanie log-zwrotów: Predykcja kolejnej logarytmicznej zmiany ceny i konwersja z powrotem na cenę zamknięcia.
1. Pobierz historyczne ceny akcji
Uruchom notebook i zaimportuj wymagane biblioteki. Ustawimy też ticker, liczbę dni testowych, okno kontekstu i nazwę modelu.
import numpy as np
import pandas as pd
import torch
import yfinance as yf
import matplotlib.pyplot as plt
from tqdm.auto import tqdm
from IPython.display import display
from timestral import TimestralForecaster
TICKER ="AAPL"
DAYS =60
WINDOW =500
MODEL ="mistralai/Timestral-209M"Obsługiwane przez
Teraz pobierz pięć lat dziennych danych Apple. Ustawienie auto_adjust=True zwraca ceny zamknięcia skorygowane o splity i dywidendy.
data = yf.download(
TICKER,
period="5y",
interval="1d",
auto_adjust=True,
multi_level_index=False,
progress=False,)
close = data["Close"].dropna().astype(float)assertlen(close)>= WINDOW + DAYS
assert(close >0).all()
display(data.tail())Obsługiwane przez
Używamy ostatnich 60 sesji giełdowych do testów oraz poprzedzających 500 obserwacji jako kontekstu dla każdej prognozy.
2. Załaduj Timestral na GPU
Załaduj model 209M na GPU, z przejściem na CPU, jeśli CUDA nie jest dostępna. 837 MB wag pobiera się z Hugging Face przy pierwszym uruchomieniu tej komórki.
device ="cuda"if torch.cuda.is_available()else"cpu"
model = TimestralForecaster.from_pretrained(
MODEL,
device=device,)print(f"Loaded {MODEL} on {device}")Obsługiwane przez
Teraz wygenerujemy po dwie prognozy dla każdego dnia sesyjnego: jedną z historycznych cen zamknięcia i jedną z log-zwrotów. Log-zwrot to dzienna zmiana logarytmu ceny; każdą przewidzianą wartość zwrotu konwertujemy z powrotem na cenę przy użyciu poprzedniego zamknięcia.
Model generuje 60 kroczących prognoz jednodniowych, używając za każdym razem poprzednich 500 cen zamknięcia. Każda prognoza wykorzystuje wyłącznie dane dostępne przed dniem docelowym, więc przyszłe ceny nie wyciekają do wejść modelu.
4. Oceń dokładność prognoz
Mierzymy średni błąd bezwzględny (MAE), pierwiastek średniego błędu kwadratowego (RMSE), średni procentowy błąd bezwzględny (MAPE) oraz trafność kierunku. Porównujemy też Timestral z naiwną bazą, która zakłada, że jutrzejsza cena zamknięcia równa się dzisiejszej.
Nasze wyniki pokazują, że Timestral działa nieco lepiej przy prognozowaniu log-zwrotów niż surowych cen akcji.
Podejście z log-zwrotami osiągnęło najniższe MAE (3,05 USD), RMSE (3,84 USD) i MAPE (0,93%), minimalnie wyprzedzając nasz model bazowy.
Co ważniejsze, trafność kierunku wzrosła z 41,67% dla surowych cen do 55% dla log-zwrotów, co sugeruje lepsze przewidywanie, czy ceny wzrosną, czy spadną.
Model surowych cen uzyskał też 81,7% pokrycia przedziału predykcyjnego, blisko oczekiwanych 80%, co wskazuje na dość dobrze skalibrowane oszacowania niepewności. Ogólnie Timestral wygenerował całkiem trafne prognozy cen, ale jego przewaga nad prostą bazą była minimalna i potrzebne są dalsze testy, aby ocenić, czy prognozy mogą wiarygodnie wspierać decyzje inwestycyjne.
5. Zwizualizuj prognozy Timestral
Narysujmy rzeczywiste ceny zamknięcia i obie metody prognoz za pomocą Matplotlib.
Wykres pokazuje, jak blisko Timestral podąża za rzeczywistymi cenami Apple w ciągu 60 sesji. Oba podejścia wychwytują trend wzrostowy, a zacieniony pomarańczowy obszar to przedział 10–90% dla modelu surowych cen. Dolny panel przedstawia dzienne błędy prognoz.
Większość błędów mieści się w ok. 5 USD, z kilkoma większymi pudłami 9–11 USD przy nagłych ruchach cen. Obie metody dają niemal identyczne prognozy, z lekką przewagą log-zwrotów. Obie linie prognoz także opóźniają się względem ceny rzeczywistej o ok. jeden dzień, co współgra z niewielką przewagą nad naiwną bazą.
6. Generuj sygnały Kup, Trzymaj i Sprzedaj
Teraz zamieńmy prognozy surowych cen na eksperymentalne sygnały Kup, Trzymaj i Sprzedaj. Używamy progu 1% na przewidywanej zmianie ceny:
KUP: Przewidywany wzrost ceny większy niż 1%.
SPRZEDAJ: Przewidywany spadek ceny większy niż 1%.
Wszystkie 60 dni sesyjnych wygenerowało sygnały TRZYMAJ, bez rekomendacji KUP lub SPRZEDAJ. W ostatnich 10 wierszach oczekiwana zmiana nigdy nie przekracza 0,15% w żadną stronę, czyli znacznie poniżej naszego progu 1%.
Te sygnały pochodzą z prognoz surowych cen, które miały słabszą trafność kierunku (41,67%). Aby zobaczyć sygnały z prognoz log-zwrotów, podmień price_predictions na return_predictions w obliczeniu change_pct. Niższy próg wygenerowałby więcej sygnałów KUP i SPRZEDAJ, ale uczyniłby je też bardziej wrażliwymi na błędy prognoz i szum rynkowy.
To sygnały do eksperymentów, nie do handlu na żywo, i nic w tym tutorialu nie stanowi porady finansowej. Potrzebne byłyby dalsze testy wsteczne, strojenie progów i analiza kosztów transakcyjnych, aby sprawdzić, czy mogą wspierać zyskowną strategię.
Wnioski końcowe
Ogólnie Timestral zrobił na mnie naprawdę dobre wrażenie.
Cała konfiguracja była prosta, wnioskowanie szybkie, a wszystko mogłem uruchomić lokalnie na RTX 4070 bez polegania na zewnętrznych API.
Co więcej, te lekkie modele działają też na CPU, więc są dostępne bez drogiego sprzętu.
Jeśli chodzi o dokładność prognoz, wyniki były mieszane.
Timestral całkiem nieźle śledził ceny akcji, ale ledwie wyprzedził prostą bazę.
Nie jestem ekspertem od prognoz finansowych ani handlu, więc pewnie mógłbym więcej zdziałać dzięki przygotowaniu danych, strategiom prognozowania i strojeniu parametrów, aby uzyskać lepsze wyniki.
Wcześniej korzystałem z hostowanych usług prognozowania, takich jak TimeGPT, ale Timestral sprawił, że lokalne prognozowanie stało się dużo atrakcyjniejsze. Od czasu premiery zacząłem przenosić więcej zadań prognozowania na modele lokalne, bo są szybkie, lekkie i wolne od wywołań API oraz opłat zależnych od użycia.
Dla mnie największą siłą Timestral nie jest sama dokładność, ale to, jak łatwe i tanie staje się prognozowanie.
Możesz uruchomić kompetentny model szeregów czasowych na własnym sprzęcie, swobodnie eksperymentować i wbudować go w aplikacje bez zależności od usług zewnętrznych. Nawet jeśli nasze prognozy akcji nie były imponujące, uważam, że Timestral to świetna opcja dla każdego, kto buduje lokalne aplikacje do prognozowania.
Timestral to pierwsza rodzina bazowych modeli szeregów czasowych Mistral AI, wydana 15 października 2026 r. Występuje w czterech rozmiarach (5M, 28M, 123M i 209M parametrów) i prognozuje w trybie zero-shot, czyli nie wymaga treningu na twoich danych.
Czy Timestral może działać bez GPU?⌄
Tak. Mistral podaje, że na standardowym serwerowym CPU z 8 wątkami model 209M generuje prognozę jednodniową z trzech tygodni danych w interwale 15-minutowym w 113 milisekund, a model 5M potrzebuje 17 milisekund.
Czy Timestral jest darmowy?⌄
Timestral ma otwarte wagi, więc możesz pobrać je z Hugging Face i uruchamiać lokalnie bez płatnego API. Kod jest na licencji Apache 2.0, a wagi na zmodyfikowanej licencji MIT — przed użyciem komercyjnym przeczytaj licencję w repozytorium każdego modelu.
Który model Timestral wybrać?⌄
Użyj Timestral-209M dla najlepszej dokładności. Według Mistral model 123M osiąga wynik w odległości 0,2% od 209M przy trzech czwartych jego opóźnienia, a model 28M jest 3,6 raza szybszy niż 209M.
Czy Timestral potrafi przewidywać ceny akcji?⌄
Potrafi tworzyć prognozy, ale nasz test wykazał niewielką przewagę nad naiwną bazą. Przez 60 dni danych Apple prognozy log-zwrotów osiągnęły MAE 3,05 USD wobec 3,06 USD dla bazy, więc bez dalszych testów nie używalibyśmy go do decyzji inwestycyjnych.
Co by było, gdybyś mógł prognozować ceny akcji małym modelem AI, który działa lokalnie, zwraca prognozy w milisekundach i nie wymaga dodatkowego treningu?
Prognozowanie szeregów czasowych zwykle oznacza metody statystyczne, takie jak ARIMA, potoki uczenia maszynowego lub modele trenowane na konkretnym zbiorze danych. Timestral, rodzina modeli prognozowania o otwartych wagach wydana przez Mistral AI 15 października 2026 r., podchodzi do tego inaczej. Przewiduje przyszłe wartości na podstawie danych historycznych bez fine-tuningu, a według Mistral jego największy model zajmuje pierwsze miejsce wśród wstępnie wytrenowanych modeli zero-shot na trzech publicznych benchmarkach.
Mimo niewielkich rozmiarów, modele zapewniają konkurencyjną dokładność na wielu benchmarkach prognozowania i można je zastosować do wszystkiego — od rynków finansowych po zużycie energii i popyt w handlu detalicznym.
W tym tutorialu zobaczymy, czym jest Timestral i jak działa, skonfigurujemy go lokalnie w Pythonie i z uv, a następnie przetestujemy na prawdziwych danych akcji Apple (AAPL). Wygenerujemy kroczące jednodniowe prognozy, porównamy je z rzeczywistymi cenami zamknięcia i naiwną bazą odniesienia oraz zamienimy prognozy w proste sygnały Kup, Sprzedaj lub Trzymaj. Zobacz też nasze tutoriale o prognozowaniu szeregów czasowych z TimeGPT i ARIMA do prognozowania szeregów czasowych.
Czym jest Mistral Timestral?
Timestral to rodzina bazowych modeli szeregów czasowych od Mistral AI do szybkiego, ogólnego prognozowania. Bazowy model szeregów czasowych jest wstępnie trenowany raz na dużej, zróżnicowanej kolekcji szeregów, dzięki czemu potrafi prognozować dane, których wcześniej nie widział.
W przeciwieństwie do tradycyjnych modeli prognozowania, które wymagają treningu na konkretnym zbiorze danych, Timestral wspiera prognozowanie zero-shot. Przewiduje przyszłe wartości bezpośrednio z danych historycznych, bez dodatkowego treningu czy fine-tuningu.
Timestral to przyczynowy, oparty na patchach transformer trenowany głównie na danych syntetycznych, a następnie w drugiej fazie na miksie danych rzeczywistych i syntetycznych. Radzi sobie z cenami akcji, zapotrzebowaniem na energię, sprzedażą i pomiarami z czujników. Mistral opisuje architekturę i trening w raporcie technicznym.
Mistral udostępnił cztery rozmiary, każdy z innym kompromisem między wielkością, szybkością i dokładnością:
Zgodnie z opublikowanymi benchmarkami Mistral, Timestral-209M zajmuje pierwsze miejsce wśród wstępnie wytrenowanych modeli zero-shot na GIFT-Eval, TIME i fev-bench. W pokazywanych porównaniach pokonuje większe modele, takie jak TimesFM-3 i Falcon-2.0. To wyniki własne Mistral, zgłoszone na listy rankingowe GIFT-Eval i TIME, więc sprawdź rankingi dla niezależnego potwierdzenia.
Szybkość to kolejna zaleta. Na standardowym serwerowym CPU z 8 wątkami Mistral raportuje, że Timestral-209M prognozuje dzień naprzód na podstawie trzech tygodni historii w interwale 15-minutowym w 113 milisekund, a model 5M potrzebuje 17 milisekund. GPU nie jest wymagane.
Timestral wspiera następujące funkcje prognozowania:
W tym tutorialu użyjemy Timestral-209M, największego i według opublikowanych benchmarków Mistral najdokładniejszego modelu z tej rodziny. Uruchomimy go lokalnie na NVIDIA RTX 4070, aby prognozować ceny akcji i ocenić jego skuteczność na prawdziwych danych rynkowych.
Skonfiguruj Timestral na Linuksie
Timestral wymaga Pythona 3.10 lub nowszego oraz PyTorch 2.4 lub nowszego. Użyjemy Pythona 3.12, PyTorch 2.7.0 i uv, aby stworzyć lekkie środowisko deweloperskie na maszynie z Linuksem. Timestral wspiera też wnioskowanie na CPU, więc GPU jest opcjonalne.
Najpierw sprawdź, czy twój GPU NVIDIA jest wykryty i czy sterowniki działają:
To polecenie wyświetla informacje o GPU, wersji sterownika i zgodności z CUDA. Jeśli w wynikach widzisz swój GPU, możesz przejść dalej.
Następnie zainstaluj uv, szybki menedżer pakietów i środowisk Pythona:
Uruchom ponownie terminal po instalacji uv, aby polecenie było dostępne w powłoce.
Teraz utwórz katalog projektu i wirtualne środowisko dla Pythona 3.12:
Następnie zainstaluj PyTorch 2.7.0 ze wsparciem CUDA 12.6:
Podczas testów build CUDA 12.8 wyrzucał błąd zgodności sterownika na naszym RTX 4070. Przejście na PyTorch 2.7.0 z CUDA 12.6 rozwiązało problem bez aktualizacji sterownika. W zależności od twojego GPU i sterownika NVIDIA możesz potrzebować innego buildu CUDA.
Jeśli nie masz GPU, zainstaluj zamiast tego build CPU, zamieniając adres indeksu na
https://download.pytorch.org/whl/cpu. Kod później w tym tutorialu automatycznie przełączy się na CPU.Teraz zainstaluj Timestral bezpośrednio z oficjalnego repozytorium GitHub:
Zainstaluj pozostałe biblioteki do pobierania danych giełdowych, przetwarzania prognoz, tworzenia wizualizacji i uruchamiania notebooków:
Używamy yfinance do pobierania historycznych cen akcji, pandas i NumPy do przetwarzania danych, a Matplotlib do wykresów cen rzeczywistych versus prognozowanych. Ograniczamy też wersję pandas do zakresu używanego w testach, aby uniknąć ostrzeżeń związanych ze zgodnością.
Przed dalszymi krokami sprawdź, czy PyTorch ma dostęp do twojego GPU:
Nasze wyjście:
Wartość
Truepotwierdza, że CUDA jest dostępna dla PyTorch, a ostatnia linia identyfikuje GPU. Możemy zaczynać eksperymenty z Timestral.Zamiast osobnych skryptów Pythona użyjemy JupyterLab, aby uruchamiać kod krok po kroku, przeglądać wartości prognoz i porównywać je z rzeczywistymi danymi rynkowymi. Uruchom JupyterLab z katalogu projektu:
Otwórz adres wyświetlony w terminalu, zwykle
http://localhost:8888/lab, i utwórz nowy notebook Pythona, używając właśnie skonfigurowanego środowiska. W tym notebooku załadujemy Timestral, wygenerujemy prognozy i ocenimy skuteczność modelu.Prognozuj ceny akcji Apple z Timestral
Zamiast tworzyć dane syntetyczne, użyjemy prawdziwych historycznych cen akcji Apple i zmierzymy, jak trafnie Timestral przewiduje cenę zamknięcia kolejnego dnia sesyjnego.
Aby eksperyment był bardziej realistyczny, zastosujemy kroczące prognozowanie jednodniowe. Dla każdego dnia sesyjnego w okresie testowym Timestral otrzymuje 500 poprzednich cen zamknięcia i przewiduje wyłącznie zamknięcie kolejnego dnia.
Porównamy też dwie metody:
1. Pobierz historyczne ceny akcji
Uruchom notebook i zaimportuj wymagane biblioteki. Ustawimy też ticker, liczbę dni testowych, okno kontekstu i nazwę modelu.
Teraz pobierz pięć lat dziennych danych Apple. Ustawienie
auto_adjust=Truezwraca ceny zamknięcia skorygowane o splity i dywidendy.Używamy ostatnich 60 sesji giełdowych do testów oraz poprzedzających 500 obserwacji jako kontekstu dla każdej prognozy.
2. Załaduj Timestral na GPU
Załaduj model 209M na GPU, z przejściem na CPU, jeśli CUDA nie jest dostępna. 837 MB wag pobiera się z Hugging Face przy pierwszym uruchomieniu tej komórki.
Model załadował się pomyślnie na RTX 4070:
3. Generuj kroczące prognozy jednodniowe
Teraz wygenerujemy po dwie prognozy dla każdego dnia sesyjnego: jedną z historycznych cen zamknięcia i jedną z log-zwrotów. Log-zwrot to dzienna zmiana logarytmu ceny; każdą przewidzianą wartość zwrotu konwertujemy z powrotem na cenę przy użyciu poprzedniego zamknięcia.
Model generuje 60 kroczących prognoz jednodniowych, używając za każdym razem poprzednich 500 cen zamknięcia. Każda prognoza wykorzystuje wyłącznie dane dostępne przed dniem docelowym, więc przyszłe ceny nie wyciekają do wejść modelu.
4. Oceń dokładność prognoz
Mierzymy średni błąd bezwzględny (MAE), pierwiastek średniego błędu kwadratowego (RMSE), średni procentowy błąd bezwzględny (MAPE) oraz trafność kierunku. Porównujemy też Timestral z naiwną bazą, która zakłada, że jutrzejsza cena zamknięcia równa się dzisiejszej.
Nasze wyniki pokazują, że Timestral działa nieco lepiej przy prognozowaniu log-zwrotów niż surowych cen akcji.
Podejście z log-zwrotami osiągnęło najniższe MAE (3,05 USD), RMSE (3,84 USD) i MAPE (0,93%), minimalnie wyprzedzając nasz model bazowy.
Co ważniejsze, trafność kierunku wzrosła z 41,67% dla surowych cen do 55% dla log-zwrotów, co sugeruje lepsze przewidywanie, czy ceny wzrosną, czy spadną.
Model surowych cen uzyskał też 81,7% pokrycia przedziału predykcyjnego, blisko oczekiwanych 80%, co wskazuje na dość dobrze skalibrowane oszacowania niepewności. Ogólnie Timestral wygenerował całkiem trafne prognozy cen, ale jego przewaga nad prostą bazą była minimalna i potrzebne są dalsze testy, aby ocenić, czy prognozy mogą wiarygodnie wspierać decyzje inwestycyjne.
5. Zwizualizuj prognozy Timestral
Narysujmy rzeczywiste ceny zamknięcia i obie metody prognoz za pomocą Matplotlib.
Wykres pokazuje, jak blisko Timestral podąża za rzeczywistymi cenami Apple w ciągu 60 sesji. Oba podejścia wychwytują trend wzrostowy, a zacieniony pomarańczowy obszar to przedział 10–90% dla modelu surowych cen. Dolny panel przedstawia dzienne błędy prognoz.
Większość błędów mieści się w ok. 5 USD, z kilkoma większymi pudłami 9–11 USD przy nagłych ruchach cen. Obie metody dają niemal identyczne prognozy, z lekką przewagą log-zwrotów. Obie linie prognoz także opóźniają się względem ceny rzeczywistej o ok. jeden dzień, co współgra z niewielką przewagą nad naiwną bazą.
6. Generuj sygnały Kup, Trzymaj i Sprzedaj
Teraz zamieńmy prognozy surowych cen na eksperymentalne sygnały Kup, Trzymaj i Sprzedaj. Używamy progu 1% na przewidywanej zmianie ceny:
Możemy zaimplementować te reguły w NumPy:
Wszystkie 60 dni sesyjnych wygenerowało sygnały TRZYMAJ, bez rekomendacji KUP lub SPRZEDAJ. W ostatnich 10 wierszach oczekiwana zmiana nigdy nie przekracza 0,15% w żadną stronę, czyli znacznie poniżej naszego progu 1%.
Te sygnały pochodzą z prognoz surowych cen, które miały słabszą trafność kierunku (41,67%). Aby zobaczyć sygnały z prognoz log-zwrotów, podmień
price_predictionsnareturn_predictionsw obliczeniuchange_pct. Niższy próg wygenerowałby więcej sygnałów KUP i SPRZEDAJ, ale uczyniłby je też bardziej wrażliwymi na błędy prognoz i szum rynkowy.To sygnały do eksperymentów, nie do handlu na żywo, i nic w tym tutorialu nie stanowi porady finansowej. Potrzebne byłyby dalsze testy wsteczne, strojenie progów i analiza kosztów transakcyjnych, aby sprawdzić, czy mogą wspierać zyskowną strategię.
Wnioski końcowe
Ogólnie Timestral zrobił na mnie naprawdę dobre wrażenie.
Cała konfiguracja była prosta, wnioskowanie szybkie, a wszystko mogłem uruchomić lokalnie na RTX 4070 bez polegania na zewnętrznych API.
Co więcej, te lekkie modele działają też na CPU, więc są dostępne bez drogiego sprzętu.
Jeśli chodzi o dokładność prognoz, wyniki były mieszane.
Timestral całkiem nieźle śledził ceny akcji, ale ledwie wyprzedził prostą bazę.
Nie jestem ekspertem od prognoz finansowych ani handlu, więc pewnie mógłbym więcej zdziałać dzięki przygotowaniu danych, strategiom prognozowania i strojeniu parametrów, aby uzyskać lepsze wyniki.
Wcześniej korzystałem z hostowanych usług prognozowania, takich jak TimeGPT, ale Timestral sprawił, że lokalne prognozowanie stało się dużo atrakcyjniejsze. Od czasu premiery zacząłem przenosić więcej zadań prognozowania na modele lokalne, bo są szybkie, lekkie i wolne od wywołań API oraz opłat zależnych od użycia.
Dla mnie największą siłą Timestral nie jest sama dokładność, ale to, jak łatwe i tanie staje się prognozowanie.
Możesz uruchomić kompetentny model szeregów czasowych na własnym sprzęcie, swobodnie eksperymentować i wbudować go w aplikacje bez zależności od usług zewnętrznych. Nawet jeśli nasze prognozy akcji nie były imponujące, uważam, że Timestral to świetna opcja dla każdego, kto buduje lokalne aplikacje do prognozowania.
Jeśli chcesz zgłębić prognozowanie, polecam nasz kurs Time Series Analysis in Python. Do modelowania finansowego wypróbuj Machine Learning for Finance in Python.