Modelowanie rynków finansowych z wykorzystaniem pakietu R

Podobne dokumenty
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

1 Podstawy c++ w pigułce.

Wstęp do Programowania Lista 1

Pakiety Matematyczne - R Zestaw 2.

Metody numeryczne Laboratorium 2

Podstawy Programowania C++

1 Podstawy c++ w pigułce.

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Instalacja Pakietu R

Ćwiczenie 1. Wprowadzenie do programu Octave

Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

LABORATORIM BIOINFORMATYKI

Przetwarzanie sygnałów

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Ćwiczenie 1. Wprowadzenie do programu Octave

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Bloki anonimowe w PL/SQL

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

1. Indeksy/indeksowanie : Do elementów wektora, list, macierzy czy ramek, można się odwołać na kilka sposobów.

Wprowadzenie do programowania w VBA

Programowanie w języku C++ Grażyna Koba

Spis treści. Przedmowa. Podstawy R

Cw.12 JAVAScript w dokumentach HTML

Podstawy Programowania Podstawowa składnia języka C++

Struktura pliku projektu Console Application

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Obliczenia w programie MATLAB

Tablice. Jones Stygar na tropie zmiennych

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Wykresy i interfejsy użytkownika

Programowanie w języku R : analiza danych, obliczenia, symulacje / Marek Gągolewski. Wyd. 2 poszerz. Warszawa, Spis treści

JAVAScript w dokumentach HTML - przypomnienie

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Programowanie w języku R : analiza danych, obliczenia, symulacje / Marek Gągolewski. Warszawa, Spis treści

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Wprowadzenie do Scilab: podstawy języka Scilab

Wykład 2 Składnia języka C# (cz. 1)

Umieszczanie kodu. kod skryptu

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Języki skryptowe w programie Plans

Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, Spis treści

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

Programowanie w języku Python. Grażyna Koba

JAVA?? to proste!! Autor: wojtekb111111

Pascal - wprowadzenie

Warunki logiczne instrukcja if

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Modele liniowe i mieszane na przykªadzie analizy danych biologicznych - Wykªad 1

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

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Baltie 3. Podręcznik do nauki programowania dla klas IV - VI szkoły podstawowej. Tadeusz Sołtys, Bohumír Soukup

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski

Liczby losowe i pętla while w języku Python

Matlab Składnia + podstawy programowania

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe

Język C, tablice i funkcje (laboratorium)

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Podstawy programowania w Pythonie

SZKOLENIE WPROWADZENIE DO R UNIWERSYTET SZCZECIŃSKI al. Papieża Jana Pawła II nr 22a Szczecin

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

Proste programy w C++ zadania

Wprowadzenie do Scilab: macierze

Programowanie strukturalne i obiektowe

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Pętle iteracyjne i decyzyjne

Lekcja 3: Pierwsze kroki z Pythonem. Pętle

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

Wprowadzenie do środowiska

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Zapis algorytmów: schematy blokowe i pseudokod 1

Algorytmy i struktury danych

Elementy statystyki STA - Wykład 1

Programowanie w języku R

Zadeklarowanie tablicy przypomina analogiczną operację dla zwykłych (skalarnych) zmiennych. Może zatem wyglądać na przykład tak:

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Elementy metod numerycznych - zajęcia 9

Instrukcje cykliczne (pętle) WHILE...END WHILE

MATLAB - laboratorium nr 1 wektory i macierze

Funkcje i instrukcje języka JavaScript

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Operacje logiczne i struktury sterujące.

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

LibreOffice Calc VBA

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Transkrypt:

Modelowanie rynków finansowych z wykorzystaniem pakietu R Wprowadzenie do pakietu R Mateusz Topolewski woland@mat.umk.pl Wydział Matematyki i Informatyki UMK

Plan działania 1 Co i dlaczego...? 2 Przechowywanie danych 3 Programowanie w R

Czym jest R? Mówiąc R mówimy o 1 języku programowania powstałym na bazie języka S; 2 platformie programistycznej; 3 projekcie, w ramach którego rozwijany jest zarówno język jak i platforma. R jest często nazywany pakietem statystycznym. Jest tak z uwagi na olbrzymią liczbę dostępnych funkcji statystycznych. Możliwości R są jednak znacznie większe. W Internecie można znaleźć przykłady wykorzystania R do automatycznego generowania raportów, wysyłania maili, rysowania fraktali, czy renderowania trójwymiarowych animacji.

RStudio

RStudio Tryby pracy Z R-em możemy pracować w dwóch trybach: wprowadzać polecenia bezpośrednio z poziomu konsoli lub wczytywać całe bloki poleceń ze skryptów. Zewnętrzny skrypt wywołujemy poleceniem source(). Możemy wykonać zaznaczony w edytorze blok poleceń wciskając przycisk Run. Funkcje R zawarte są w pakietach. Nowy pakiet ładujemy poleceniem library() lub zaznaczając w zakładce Packages. Konsola R zapamiętuje historię wykonywanych poleceń.

Zaczynamy... KalkulatoR Konsola R może być wykorzystywana jako prosty kalkulator. R wykonuje proste działania (+,,, /, ˆ) oraz ma wbudowane podstawowe funkcje (sqrt(base), log(base), exp(base), sin(base)). Zmienne Zmienne w R deklarujemy przez przypisanie im wartości (za pomocą operatora =,<- lub ->). Typy przypisywane są automatycznie. Nazwa zmiennej musi zaczynać się od litery i może zawierać wielkie litery, małe litery, cyfry i znaki specjalne. R rozróżnia wielkie i małe litery (x i X to dwie różne zmienne). Na przykład > 2+2 -> X > x <- exp(-2)

Typy zmiennych Wyróżniamy następujące typy zmiennych: liczbowy (liczby całkowite i zmiennoprzecinkowe). Szczególnymi wartościami dla tego typu są nieskończoności (Inf,-Inf) i nieokreśloność (NaN). czynnikowy (nazywany też wyliczeniowym i kategorycznym) znakowy logiczny (TRUE/FALSE) wektorowy lista macierz ramka danych funkcja

Wektory i macierze Wektory Wektory możemy generować na dwa sposoby: ręcznie za pomocą polecenia c(base) (np. x=c(1,3,5)) automatycznie poleceniem seq(base) (np. x=seq(from=1,to=5,by=2)) Elementom wektora możemy również przypisywać nazwy, np. Ania <- c(wzrost = 1.55, waga = 45) Macierze Macierze dwuwymiarowe możemy tworzyć poleceniem matrix(base). Na przykład: M <- matrix(data = c(1,2,3,4), nrow = 2, ncol = 2) Macierze o większej liczbie wymiarów tworzymy poleceniem array(base). Na przykład: M <- array(data = c(1,2,3,4), dim = c(2,2)) Wymiarom macierzy można przypisywać nazwy dodając argument dimnames.

Operacje na wektorach i macierzach Indeksy Wybrany element wektora/macierzy wywołujemy podając jego indeks (lub nazwę) w nawiasach kwadratowych, np. Ania["wzrost"], M[1,2]. Możemy również wybrać całą grupę elementów. I tak poleceniem M[,1] wypiszemy pierwszą kolumnę macierzy M, natomiast M[M>0] wypisze wszystkie elementy dodatnie. Operacje Wektory i macierze tych samych wymiarów możemy dodawać i mnożyć po współrzędnych" tak samo jak liczby rzeczywiste. Mnożenie macierzowe wykonujemy operatorem %*%

Listy Lista to również uporządkowany zbiór elementów, które przeciwieństwie do wektora mogą mieć różne typy. Podobnie jak w przypadku wektora poszczególne elementy mogą mieć nazwy. Do elementów listy możemy się odwoływać jak do elementów wektora, korzystając z nazw poszczególnych pól lub z operatora [[]]. Listy tworzy się zazwyczaj z użyciem funkcji list(). Przykład Tworzymy listę atrybutów Andrzeja: Andrzej <- list(rok = 5, R = TRUE, zainteresowania = c("statystyka","stochastyka")). Zainteresowania Andrzeja możemy sprawdzić na dwa równorzędne sposoby: Andrzej$zainteresowania Andrzej[[3]]

Ramka danych Ramka danych jest szczególnym typem danych. Jest to tabela (dwuwymiarowa), w której każda kolumna zawiera elementy tego samego typu. Równoważnie możemy powiedzieć, że jest to lista wektorów tej samej długości. Do elementów ramki możemy odwoływa się jak do elementów macierzy lub listy. Ramkę danych tworzymy poleceniem data.frame(base) Przykład Dzieci w przedszkolu: dzieci <- data.frame(imie = c("janek", "Basia", "Zosia"), wiek = c(5,5,6), wzrost=c(115,120,118)). Wzrost Zosi możemy sprawdzić poleceniem dzieci$wzrost[dzieci$imie=="zosia"] lub równoważnie dzieci[dzieci[,1]=="zosia",3].

Import i export danych Do wczytywania i zapisywania tablicy danych z pliku tekstowego służą polecenia read.table() i write.table(). Do pracy z arkuszami CSV możemy wykorzystać przystosowane do tego polecenia read.csv(utils), write.csv(utils). Przykład Wczytujemy dane z arkusza dane.csv: > dane <- read.table("dane.csv", header = TRUE, sep = ";", dec = ",", encoding = "utf8") > dane <- read.csv("dane.csv") > write.table(dane, "arkusz.csv") R i SPSS R obsługuje również arkusze SPSS a. Do wczytywania danych służą polecenia read.spss(foreign), spss.get(hmisc)

Instrukcja warunkowa Instrukcja if if (warunek_ logiczny) blok_instrukcji_1 else blok_instrukcji_2 Funkcja ifelse ifelse(warunek_logiczny, wartosc_1, wartosc_2) Przykład if (n>0) n <- n-1 else n <- 0 n <- ifelse(n>0, n-1, 0) Uwaga Blok instrukcji otaczamy nawiasem klamrowym.

Pętle Pętla for Pętla for powtarza blok instrukcji określoną liczbę razy. for (iterator in zbior) blok_instrukcji Pętla while Pętlę while wykonuje blok instrukcji dopóki zadany warunek jest spełniony. while (warunek_logiczny) blok_instrukcji. Przykład for (n in seq(1,10)) A[n] <- n n <- 10 while (n>0) { A[n] <- n; n <- n-1 } Zauważmy, że obie pętle robią dokładnie to samo.

Funkcje Funkcje w R tworzymy według następującego schematu: nazwa_funkcji <- function(lista_argumentów){ } blok_ instrukcji return(wynik) Argumenty funkcji są zmiennymi lokalnymi tworzonymi tylko wewnątrz funkcji, możemy im przypisywać domyślne wartości. Wynikiem działania funkcji może być dowolna struktura danych. Przykład Iloczyny częściowe iloczyny <- function(x){ n <- length(x) for (i in n:1) x[i] <- prod(x[1:i]) return(x) }