Przewidywanie cen akcji z wykorzystaniem artykułów prasowych

Podobne dokumenty
Analiza zależności między notowaniami akcji firm a artykułami prasowymi

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Kombinacja jądrowych estymatorów gęstości w klasyfikacji wstępne wyniki

Streszczenie. Abstract

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Bazy Danych i Usługi Sieciowe

Multi-projekt z przedmiotów Inżynieria oprogramowania, Współczesne bazy danych i Programowanie w języku Java

Programowanie komputerowe. Zajęcia 4

Instrukcja dla autorów monografii

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

QualitySpy moduł reports

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Wykład 2. Relacyjny model danych

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

WPROWADZENIE DO BAZ DANYCH

Analiza danych tekstowych i języka naturalnego

Praca Magisterska "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu" AUTOR PROMOTOR

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

Dokumentacja Końcowa

WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW DOTYCHCZASOWYCH GIMNAZJÓW ETAP WOJEWÓDZKI BIAŁYSTOK, 16 MARCA 2018

Systemy uczące się wykład 2

Sprawdzian wiedzy i umiejętności ucznia z informatyki po ukończeniu gimnazjum

Pytanie 1. Pytanie 2. Pytanie 3 WOJEWÓDZKI KONKURS INFORMATYCZNY. Treść pytania

ARKUSZ KALKULACYJNY komórka

Dynamiczne struktury danych

Wielojęzykowość w aplikacjach J2EE. Tomasz.Skutnik@e-point.pl

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Systemy baz danych

Zasady programowania Dokumentacja

Asocjacyjna reprezentacja danych i wnioskowanie

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Wymagania na poszczególne oceny w klasach 3 gimnazjum

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

WTYCZKA FARA-TCM Dane techniczne dla twórców zewnętrznych aplikacji do obsługi map cmentarza

ABC języka HTML i XHTML / Maria Sokół. wyd. 2. Gliwice, cop Spis treści

Wykład 5. SQL praca z tabelami 2

INFORMATYKA KLASA VII Wymagania na poszczególne oceny

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

znaleźć wszystkie rekordy dotyczące adresów przy ulicy Hożej (dowolnego miasta!);

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

TEST WSTĘPNY. Imię i Nazwisko: Telefon kontaktowy: 1. Kilobajt jest to: a bajtów b bajtów c bitów d.

akademia androida Składowanie danych część VI

KOMUNIKATY DOTYCZĄCE PROGRAMU SprawPro15

Administracja bazami danych

Zadanie domowe 2. Aplikacja BrickList

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

SQL (ang. Structured Query Language)

Tabela wewnętrzna - definicja

Wymagania edukacyjne z informatyki w klasie VIII

Ekspedycja. Informacja o opłacie przed/po upustach w podziale na artykuły refundowane i nierefundowane

Podstawowe możliwości programu Spectro Market Faktura

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 6.0

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

Przedmiotowy system oceniania z informatyki w klasach VII i VIII

Temat: Sieci neuronowe oraz technologia CUDA

Walidacja danych w ASP.NET MVC

Raport Hurtownie Danych

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

ROZSZERZANIE MOŻLIWOŚCI...

Zaawansowane algorytmy i struktury danych

Wstęp do programowania

Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie)

Projekt współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach Programu Operacyjnego Kapitał Ludzki

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Smarty PHP. Leksykon kieszonkowy

Copyright wersji angielskiej: The European Computer Driving Licence Foundation Ltd. Copyright wersji polskiej: Polskie Towarzystwo Informatyczne

Archiwum DG 2016 PL-SOFT

POMOC. 1. Wybór Katalogu

Nowa podstawa programowa przedmiotu informatyka w szkole ponadpodstawowej

DYNAMICZNE PRZYDZIELANIE PAMIECI

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Lista, Stos, Kolejka, Tablica Asocjacyjna

Java Collections Framework

FORMULARZE. G. Przęczek

Kombinacja jądrowych estymatorów gęstości w klasyfikacji - testy na sztucznych danych

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Co to są relacyjne bazy danych?

Mała kasa o wielkich możliwościach

Sylabus Moduł 2: Przetwarzanie tekstów

Część I Rozpoczęcie pracy z usługami Reporting Services

Anna Osiewalska Biblioteka Główna Uniwersytetu Ekonomicznego w Krakowie

Dlaczego PHP? - zalety

QualitySpy moduł persystencji

Text mining w programie RapidMiner Michał Bereta

Bazy danych i usługi sieciowe

Podstawy programowania skrót z wykładów:

Wstęp do programowania

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

URL:

Optymalizacja poleceń SQL Statystyki

Ćwiczenie 8. Kontrolki serwerowe

KATEGORIA OBSZAR WIEDZY

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

SAS Lineage. zależności między obiektami w środowisku SAS, perspektywa techniczna i biznesowa

Wprowadzanie danych do Modułu Sprawozdawczego PBN. Artur Dworakowski, Index Copernicus, 2015 r.

Transkrypt:

Przewidywanie cen akcji z wykorzystaniem artykułów prasowych Mateusz Kobos, 05.12.2007 Seminarium Metody Inteligencji Obliczeniowej 1/25

Spis treści Ogólna budowa programu Pobieranie danych Budowa bazy danych + statystyki Czyszczenie danych (część z artykułami) Proste eksperymenty Przyszłość 2/25

Ogólna budowa programu wyniki ściąganie, parsowanie, czyszczenie artykuły BD ceny akcji analiza wyników WWW preprocessing, zamiana na liczby model 3/25

Ogólna budowa programu Główne wykorzystane technologie MySQL Python (szkielet programu, większość kodu) Porter stemmer C++ (algorytmy wymagające wydajności: model (ANN)) biblioteka FANN 4/25

Pobieranie dostępnych danych Notowania akcji i indeksów Yahoo.com dzienne notowania znormalizowane ze względu na split-y i dywidendy Artykuły Proquest przygody: zmiana wyglądu strony, resety i wyłączanie komputera, ponowne ściąganie artykułów łączenie rozdzielonych wydań 5/25

Baza danych 2 części notowania akcji, indeksów (z Yahoo.com) artykuły prasowe (Wall Street Journal, Financial Times z ProQuest) 6/25

Baza danych notowania 7/25

Baza danych - artykuły 8/25

Baza danych podstawowe statystyki Artykuły Rozmiar plików (strony HTML) na dysku: ok. 60GB Notowania akcji i indeksów Przedział czasowy: 1997-04-01 2007-04-01 Przedział czasowy: do 2007-06-15 Rozmiar plików (strony HTML i CSV) na dysku: ok. 20 MB Rozmiar całej bazy danych: ok. 8 GB 9/25

Baza danych notowania podstawowe statystyki Indeksów: 73 Firm: 8672 10/25

Baza danych artykuły podstawowe statystyki WSJ Wydania Artykuły Brakujące artykuły Artykułów w wydaniu Wybrane puste atrybuty artykułu min max AVG SD tytuł streszczenie tekst meta-atrybuty Subjects Section Companies Dostępność wybranych Document types meta-atrybutów Column name Classification codes FT 2806 3104 422009 765117 341 9 1 1 730 437 150,52 246,5 77,73 52,4 0 0 7,23% 13,58% 9,55% ~0% 18 14 74,19% 62,50% 25,72% 99,73% 48,04% 36,10% 73,71% 62,62% 21,71% 0,00% 25,74% 0,00% 11/25

Artykuły czyszczenie danych Dane o firmach opisywanych w artykule Łączenie danych o firmie (wg nazwy) dostępnych w różnych artykułach jako metaatrybuty: Nazwa NAICS (klasyfikacja przemysłowa) Duns (jednoznacznie identyfikuje firmę) Symbol (ticker) redukcja: z 46318 do 42554 12/25

Artykuły czyszczenie danych Artykuł czyszczenie tekstu usuwanie tabel (i tu np. tekst w tabeli) wstawianie NULL do DB zamiast "" usuwanie wpisu Copyright... zamiana specjalnych znaków HTML-a na zwykłe usuwanie końcówki ; [NUMER] w tytule 13/25

Artykuły czyszczenie danych Spostrzeżenie: niektóre artykuły częściowo powtarzają się w danym wydaniu różnią się meta-atrybutami, jeden jest rozszerzoną wersją drugiego Rozwiązanie pierwszego problemu łączenie (sumowanie meta-atrybutów) tożsamych artykułów 14/25

Artykuły czyszczenie danych 2 artykuły są tożsame jeśli poniższy program zwróci TRUE : if(text[0]!=null AND text[1]!= NULL): if(text[0]==text[1]) RETURN TRUE else: if(abstract[0]!= NULL AND abstract[1]!= NULL): if(abstract[0]==abstract[1]) RETURN TRUE else if(title[0]==title[1]) RETURN TRUE RETURN FALSE Redukcja liczby artykułów: z 421863 do 418250 15/25

Proste eksperymenty Dane: Szereg czasowy zwrotów ((vi-vi-1)/vi-1) ze znormalizowanych kwotowań indeksu S&P500. Przedział czasowy: 2003-04-01 2007-04-01 od 926 do 1002 elementów szeregu czasowego Przewidywanie zwrotu dzień naprzód zbiory: trenujący: pierwsze 90% szeregu testujący: kolejne 10% 16/25

Proste eksperymenty Parametry: długość pamięci wielkość zbioru walidacyjnego maksymalna liczba epok/iteracji uczących algorytm uczący (On-line, batch, Rprop, QuickProp) Liczony błąd: NMSE: Y, Y' wartość oczekiwana i wartość otrzymana z modelu NMSE(Y', Y) = E((Y' - Y)2)/E((EY - Y)2) = MSE/Var(Y) 17/25

18/25

19/25

20/25

21/25

22/25

23/25

Przyszłość Dalsze oczyszczanie danych (może) łączenie b. podobnych artykułów (zmieniona kolejność słów, dodane jedno zdanie itp.) ignorowanie artykułów np. z kolumny humorystycznej gazety Pomysły zastosować podstawowe reprezentacje tekstu (TF-IDF) uwzględnić model wyceny akcji (CAPM) użyć predefiniowany słownik ważnych zwrotów przewidywanie cen akcji firm i sektorów przemysłu 24/25

Dziękuję za uwagę! 25/25