Upload
xarles
View
66
Download
0
Embed Size (px)
DESCRIPTION
Po co komu spekulanci? Wprowadzenie do MATLAB ®. Tomasz Michalak Joanna Tyrowicz 12.10.2009. Jak działa rynek i po co nam spekulanci?. Co mówi ekonomia? Teoria arbitrażu – ale dlaczego ktoś miałby go uprawiać? Teoria arbitrażu – ale na czym robić arbitraż? - PowerPoint PPT Presentation
Citation preview
Po co komu spekulanci?
Wprowadzenie do MATLAB®
Tomasz MichalakJoanna Tyrowicz12.10.2009
Jak działa rynek i po co nam spekulanci? Co mówi ekonomia?
Teoria arbitrażu – ale dlaczego ktoś miałby go uprawiać? Teoria arbitrażu – ale na czym robić arbitraż? Wniosek: musi być jakaś normalna wymiana i jacyś normalni
agenci (produktywni) Wniosek 2: żeby musieli się wymieniać, muszą być różni Pytanie: po co wtedy arbitraż?
Do czego jeszcze jesteśmy przyzwyczajeni w ekonomii? Oczekiwania? Jakie? Doświadczenie przeszłości? Po co?
Model podstawowy Dwa typy dóbr: złoto i jedzenie Oba konsumowanie po jednej jednostce w każdym okresie Każdy agent ma „talent” do robienia obu dóbr: [sg, sf]
Ten talent to po prostu mnożnik jednostki pracy (sg oznacza, że z jednego dnia pracy produkuje sg jednostek złota)
To co się wyprodukuje każdy agent może przechowywać bez kosztów
Skąd się biorą talenty? w normalnej ekonomii założylibyśmy, że jest ich dwa typy i będą się
specjalizować (rozwiązanie dyskretne) w MAS zakładamy, że każdy agent ma oba talenty ze zmiennej losowej
(rozkład jednostajny)
Model podstawowy1. Każdego dnia każdy agent decyduje, na produkcję którego dobra
poświęca swój dzień
2. Decyzję podejmuje na podstawie obserwacji ceny obu dóbr z poprzedniego dnia Skoro są racjonalni (maksymalizują bogactwo), będą produkować dane
dobro tylko jeśli korzyści (talent * jednostka pracy) są większe niż koszty alternatywne (cena z wczoraj * talent tego drugiego * jednostka pracy)
3. Żeby „nie padli”, każdy agent ma przypisany minimalny poziom żywności (każdy swój indywidualny, znów losowany z rozkładu jednostajnego z jakimiś ograniczeniami)
4. Kupują/sprzedają na jakiejś aukcji By kupowali/sprzedawali, muszą mieć jakieś kryterium decyzyjne –
nazwijmy je użytecznością
Funkcja użyteczności agenta…1. W każdym okresie albo składa ofertę kupna albo sprzedaży (nie
można się wstrzymać – jakie konsekwencje takiego założenia?)2. Cena składanej oferty to osobista użyteczność z posiadanej
jednostki * cena z poprzedniego okresu – jakie konsekwencje takiego założenia?
3. Wartość indywidualnej użyteczności zależy od indywidualnych zasobów żywności i złota jakie konsekwencje takiego założenia z perspektywy bogactwa? jakie konsekwencje takiego założenia z perspektywy kształtu funkcji? F=f(i)/r(i) oraz G=g(i)/P*r(i) =>
4. B(F,G) ma dość specyficzną postać – co to oznacza? B(0,0)=b00, B(0,1)=b01, B(0,∞)=b0 ∞,
B(0,0)=b00, B(0,1)=b01, B(0,∞)=b0 ∞,
B(0,G) = b0 ∞ - (b0 ∞- b00)e-γG gdzie γ=ln(b0 ∞- b00)/(b0 ∞- b01)
Aukcja Uwzględniono dwa mechanizmy
sealed-bid centralny planista zbiera ceny, ustala cenę równowagi
maksymalizującą obrót double auction
dopasowuje się oferty sell/buy, rynek waha się pomiędzy najwyższym buy i najniższym sell można podnieść najwyższy buy albo obniżyć najniższy sell albo
zaakceptować któryś z tych dwóch Jakie założenia?
nie sprzedaję poniżej swojego sell nie kupuję powyżej swojego buy aukcjoner działa tak, żeby obrót był maksymalny (dlaczego?)
Co robią spekulanci? Spekulanci:
nic nie produkują nie konsumują żywności symulacje rozpoczynają z ustaloną ilością złota gdy sprzedają/kupują, to całość mają dwa rodzaje oczekiwań
szukają punktu przegięcia (gdy pochodna przestaje rosnąć) oczekiwanej cenygdy kąt nachylenia rośnie, kupują (bo cena wzrośnie dalej), gdy kąt nachylenia się obniża, sprzedają (bo cena zmaleje dalej)
wygładzają cenę poprzez adaptacyjne ustalanie wartości oczekiwanej cenyjeśli cena z poprzedniego okresu jest wystarczająco niska (wobec oczekiwanej średniej), to kupują, bo raczej wzrośnie
… a na następnych zajęciach…
… zrobimy ten model sami
MatLab na dziś
1. Czym jest MATLAB?
2. Podstawowe funkcjonalności
3. Operacje na macierzach i wektorach
4. Rysowanie
Some History
MATLAB = "matrix laboratory”
Wynaleziony w latach 1970tych przez Cleve Molera (dziekana wydziału informatyki na University of New Mexico)
Cel podstawowy: łatwo realizować przeliczenia z algebry liniowej bez konieczności znajomości FORTRANu (język do większości pakietów obsługujących algebraiczne przekształcenia)
Cleve Moler + Jack Little (inżynier) + Steve Bangert decydują, by produkt skomercjalizować i 1983 zakładają MathWorks, a oprogramowanie i tak już przeszło w tym czasie na język C.
Źródło: Wikipedia
Jak wygląda MatLab
Dwa podstawowe okienka:
1. Główne MATLAB okienko:
* Command Window
* Current Directory Window
* Command History Window
2. Okienko na m-files (m-files to takie do-files tylko w MatLabie)
Główne okienko MATLABa
Edytor m-files
Jak wprowadzać zmienne? Wektor: w [ ] wpisać cyferki a wcześniej go nazwać
a = [7,3] b = [0:pi/10:10] c = [1:1:100]
Macież: w [ ] wpisać cyferki oznaczając ; co wiersz a co kolumna M=[1 2; 3 4]
niestety z ; nie można zrezygnować, bo wyjdzie wektor zeros=zeros(3,3) ones=ones(4,4) można jeszcze zeros=(3,2) albo zeros=(3,1) albo zeros=(1,3)…
Jeszcze tricki? Jeśli się zostawi ; na końcu wiersza, MatLab nie
wyświetli tej komendy (ale wprowadzi ją do pamięci podręcznej)
Jeśli zmienna już jest MatLab po prostu ją nadpisze (uwaga!)
Jak wyczyścić pamięć: clear /wszystko/ cls /tylko ten ekran/ clear tocos /tylko to coś/
Jak wybrać coś z pamięci, żeby to obejrzeć? po prostu wpisz to coś i naciśnij enter
a
Jak rysować? Każdą rzecz, jaką mamy, MatLab może narysować i jest
w tym naprawdę dobry
Wiele rodzajów wykresów jest z góry oprogramowanych np. cylinder, koło, wszystkie „surface” i w ogóle wielowymiarowe
Wiele spraw w wykresach można zmieniać (np. kolory, opisy osi, kompilację do LaTeX/TeX albo .ppt albo .doc)
Można tworzyć schematy własnych wykresów
Można je zapisywać w wielu poręcznych („lekkich”) formatach, a mimo to móc potem modyfikować.
Wykresy w 2D
Wykresy w 3D
Ćwiczenia Wektory:
v = [1 : -1 : -6] v = [1 : 0.1 : 1.5] v = [1 : 0.1 : 1.55] v = [1 : -0.1 : 1.5]
Rysunki v = [1 2 2 3 3 4 4 3 3 4]
plot(v)
x = [0:.2:20];y = sin(x)./sqrt(x+1);y(2,:) = sin(x/2)./sqrt(x+1);y(3,:) = sin(x/3)./sqrt(x+1);plot(x,y)
Ćwiczenia Rysunki
[X,Y] = meshgrid(-3:.125:3);Z = peaks(X,Y);meshc(X,Y,Z);axis([-3 3 -3 3 -10 5])
t = 0:pi/20:2*pi;[X,Y,Z] = cylinder(2+cos(t));surf(X,Y,Z)axis square
Etc…