Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Baza danych do analizy technicznej
Forum PHP.pl > Forum > Bazy danych > Oracle
Blackhole
Cześć.

Planuję przechowywać w bazie kursy akcji spółek notowanych na WGPW. Wydaje mi się, iż do tego najlepsza będzie jedna tabela o strukturze:
Kod
create table notowania (
id number,
spolka char(4), -- kod społki
data date,
otwarcie number,
minimum number,
maksimum number,
zamkniecie number,
wolumen pls_integer,
primary key (id),
constraint unikatowosc unique (spolka, data)
);
(nie wiem, czy składnie napisałem poprawnie, ale pewnie wiecie, o co chodzi).
Potem przy wykorzystaniu danych w tej tabeli chciałbym obliczać różne wskaźniki analizy technicznej i każdy przechowywać w oddzielnej tabeli. Uzyskane dane służyć mi mają (w zamierzeniu) do łatwego generowania wykresów.
Co o tym sądzicie? Może macie jakiś lepszy pomysł?
najtje
no może nałóż unikata na id zamiast na spółkę
i może zamiast 3 kolumn (otwarcie, zamknięcie, minimum) wprowadź po prostu timestampa
otwarcie to będzie wtedy minimalny timestamp pogrupowany po danej dacie, zamknięcie maksymalny (zamknięcie) - napiszesz po prostu widok który ci przedstawi tabele w formie takiej jak przedstawiłeś.
A jak będziesz chciał wprowadzić wszystkie dane (z całego dnia notowań) automatycznie będziesz to mógł zrobić.
W przypadku gdybyś się zdecydował na pobieranie danych notowań ciągłych nie wiem czy kilka transakcji które są dokonywane nie mają takiego samego timestampu bo dane są dostępne chyba tylko co do sekundy. Można by potraktować te transakcje jako jedną ale ilość transakcji nie wiem... to też w tym momencie jest informacja warta odnotowania tzn. napewno nie warto jej tracić smile.gif Wtedy musiałbyś wprowadzić jakąś numerację takich transakcji mających ten sam timestamp i rozszerzyć unikalny klucz.
W sumie notowania są w formie metastocka najczęściej - rozejrzałbym się za jakimś narzędziem które umożliwiłoby wrzucenie danych z tego programu do bazy lub arkusza i potem do bazy. Wtedy miałbyś już nawet relacje potworzone i pewnie dobrze zaprojektowane.
Blackhole
Zakładałem, że będę miał jedynie informację o cenie otwarcia, zamknięcia, minimalnej i maksymalnej z danej sesji. Notowań ciągłych myślę, że nie warto mi zbierać. Przybyłoby po prostu dużo danych w bazie, a nie wydaje mi się, by były mi do czegoś potrzebne. Z tym 4-ech cen tworzy się przecież wszystkie wykresy i wskaźniki.

A czy to, by trzymać obliczone wskaźniki w innej tabeli (oddzielnej dla każdego wskaźnika), a w tabeli z notowaniami mieć FK do tych tabel jest dobrym rozwiązaniem?
Mając już te dane w bazie, będę chciał się do niej odwoływać z poziomu C++ wykorzystując bibliotekę OCL.

Hmm... Za OCL trzeba zapłacić jakieś ponad $150 sad.gif Znacie jakąś inną bibliotekę umożliwiającą połączenie się z C++ do Oracle?
najtje
Cytat
Z tym 4-ech cen tworzy się przecież wszystkie wykresy i wskaźniki.


Przecież wskaźniki można obliczać z dowolnie przyjętym interwałem czasowym.
Blackhole
Ale chyba nie mają większego zastosowania wskaźniki, których interwał wynosi np. 15 minut lub 1h? Najmniejszy interwał to chyba 1 dzień (myślę).

P.s. Znasz jakąś inną bibliotekę do połączenia się z C++ do Oracle 10g?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.