Ruchoma średnia regresja stata


Średnie kroczące Średnie kroczące W konwencjonalnych zestawach danych średnia wartość jest często pierwszą i jedną z najbardziej użytecznych statystyk do obliczenia. Gdy dane mają postać szeregu czasowego, średnia serii jest użyteczną miarą, ale nie odzwierciedla dynamicznej natury danych. Średnie wartości obliczane w okresach zwartych, poprzedzających bieżący okres lub wyśrodkowane w bieżącym okresie, są często bardziej użyteczne. Ponieważ takie średnie wartości będą się różnić lub przesuwać, ponieważ bieżący okres zmienia się z czasu t2, t3 itd. Są one znane jako średnie ruchome (Mas). Prosta średnia krocząca jest (zazwyczaj) nieważoną średnią z poprzednich wartości. Wyliczana wykładniczo średnia ruchoma jest zasadniczo taka sama jak zwykła średnia ruchoma, ale z wkładem do średniej ważonej przez ich bliskość do bieżącego czasu. Ponieważ nie ma jednej, ale całej serii ruchomych średnich dla dowolnej serii, zbiór Masów można sami nanosić na wykresy, analizować jako serię i stosować w modelowaniu i prognozowaniu. Szereg modeli można skonstruować za pomocą średnich kroczących i są one znane jako modele MA. Jeśli takie modele są połączone z modelami autoregresyjnymi (AR), uzyskane modele kompozytowe są znane jako modele ARMA lub ARIMA (I jest zintegrowane). Proste wartości ruchome Ponieważ szeregi czasowe można traktować jako zestaw wartości, t 1,2,3,4, n można obliczyć średnią tych wartości. Jeśli przyjmiemy, że n jest dość duże i wybieramy liczbę całkowitą k, która jest znacznie mniejsza niż n. możemy obliczyć zestaw średnich bloków lub prostych średnich ruchomych (rzędu k): Każda miara reprezentuje średnią wartości danych w przedziale k obserwacji. Zauważ, że pierwszym możliwym MA porządku k gt0 jest ten dla t k. Bardziej ogólnie możemy upuścić dodatkowy indeks dolny w wyrażeniach powyżej i napisać: Stwierdza on, że szacowana średnia w czasie t jest prostą średnią obserwowanej wartości w czasie t i poprzednich stopniach k-1. Jeśli stosuje się wagi, które zmniejszają udział obserwacji, które są dalej w czasie, średnia ruchowa ma być wykładniczo wygładzona. Średnie kroczące są często używane jako forma prognozowania, przy czym szacowana wartość dla serii w czasie t1, S t1. jest uznawany za IZ na okres do czasu t włącznie. na przykład Współczesne szacunki są oparte na średniej z uprzednio zarejestrowanych wartości, aż do wczorajszych dni (dla danych dziennych). Proste średnie ruchome mogą być postrzegane jako forma wygładzania. W przedstawionym poniżej przykładzie zbiór danych zanieczyszczenia powietrza przedstawiony we wstępie do tego tematu został powiększony o 7-dniową średnią ruchomą (MA), pokazaną tutaj na czerwono. Jak widać, linia MA wyrównuje wartości szczytowe i spadki w danych i może być bardzo pomocna w identyfikowaniu trendów. Standardowa formuła obliczania do przodu oznacza, że ​​pierwsze punkty danych k-1 nie mają wartości MA, ale następnie obliczenia rozciągają się do końcowego punktu danych w serii. Średnie wartości dzienne PM10, źródło Greenwich: London Air Quality Network, londonair. org. uk Jednym z powodów obliczania prostych średnich ruchomych w opisany sposób jest to, że umożliwia obliczenie wartości dla wszystkich przedziałów czasowych od czasu tk do chwili obecnej, oraz gdy nowy pomiar zostanie uzyskany dla czasu t 1, MA dla czasu t 1 można dodać do zestawu już obliczonego. Zapewnia to prostą procedurę dla dynamicznych zestawów danych. Istnieją jednak pewne problemy z tym podejściem. Uzasadnione jest twierdzenie, że średnia wartość z ostatnich 3 okresów powinna być zlokalizowana w czasie t -1, a nie w czasie t. a dla IZ przez parzystą liczbę okresów być może powinna być zlokalizowana w środkowym punkcie między dwoma przedziałami czasowymi. Rozwiązaniem tego problemu jest zastosowanie wyśrodkowanych obliczeń MA, w których MA w czasie t jest średnią z symetrycznego zbioru wartości wokół t. Pomimo oczywistych zalet, takie podejście nie jest powszechnie stosowane, ponieważ wymaga, aby dane były dostępne dla przyszłych zdarzeń, co może nie być prawdą. W przypadkach, w których analiza dotyczy wyłącznie istniejącej serii, preferowane może być użycie wyśrodkowanego Mas. Proste średnie ruchome można uznać za formę wygładzania, usuwając niektóre komponenty o wysokiej częstotliwości z szeregów czasowych i podkreślając (ale nie usuwając) trendy w sposób podobny do ogólnego pojęcia filtrowania cyfrowego. Rzeczywiście, średnie ruchome są formą filtra liniowego. Możliwe jest zastosowanie obliczenia średniej ruchomej do serii, która została już wygładzona, to jest wygładzanie lub filtrowanie już wygładzonej serii. Na przykład, przy średniej ruchomej rzędu 2, możemy uznać ją za obliczoną przy użyciu wag, więc MA na x 2 0,5 x 1 0,5 x 2. Podobnie, MA na x 3 0,5 x 2 0,5 x 3. zastosuj drugi poziom wygładzania lub filtrowania, mamy 0,5 x 2 0,5 x 3 0,5 (0,5 x 0,5 x 2) 0,5 (0,5 x 2 0,5 x 3) 0,25 x 1 0,5 x 2 0,25 x 3 tj. 2-stopniowe filtrowanie proces (lub splot) wytworzył zmiennie ważoną symetryczną średnią ruchomą, z wagami. Wielokrotne zwoje mogą dawać dość złożone ważone średnie ruchome, niektóre z nich zostały znalezione o szczególnym zastosowaniu w wyspecjalizowanych dziedzinach, takich jak w obliczeniach ubezpieczeń na życie. Średnie kroczące mogą być stosowane do usuwania efektów okresowych, jeśli są obliczane na podstawie długości okresowości jako znanej. Na przykład z miesięcznymi danymi sezonowe odchylenia mogą być często usuwane (jeśli jest to cel) przez zastosowanie symetrycznej 12-miesięcznej średniej kroczącej z wszystkimi miesiącami ważonymi jednakowo, z wyjątkiem pierwszego i ostatniego, które są ważone przez 12. Wynika to z tego, że mieć 13 miesięcy w modelu symetrycznym (obecny czas, t. - 6 miesięcy). Suma jest podzielona przez 12. Podobne procedury można zastosować dla każdej dobrze określonej okresowości. Wykładniczo ważone średnie ruchome (EWMA) Za pomocą prostej średniej ruchomej: wszystkie obserwacje są jednakowo ważone. Gdybyśmy nazwali te równe wagi, alfa t. każdy z wag k wynosiłby 1 k. więc suma wag wynosiłaby 1, a formuła byłaby: Widzieliśmy już, że wiele aplikacji tego procesu powoduje, że waga jest różna. W przypadku średnich ważonych ruchami wykładniczymi, udział w wartości średniej z obserwacji, które są bardziej usuwane w czasie, jest zmniejszany, co uwydatnia nowsze (lokalne) zdarzenia. Zasadniczo wprowadzono parametr wygładzania, 0 lt alfa1, a wzór zmieniono na: Wersja symetryczna tego wzoru miałaby postać: Jeżeli wagi w modelu symetrycznym są wybrane jako warunki warunków dwumianowego rozszerzenia, (1212) 2q. będą sumowane do 1, a gdy q stanie się duża, przybliżą się do rozkładu normalnego. Jest to forma ważenia jądra, z dwumianem działającym jako funkcja jądra. Dwustopniowe splatanie opisane w poprzednim podrozdziale jest właśnie tym układem, z q 1, co daje wagi. W wygładzaniu wykładniczym konieczne jest użycie zbioru wag, które sumują się do 1 i które geometrycznie zmniejszają rozmiar. Użyte wagi mają zazwyczaj postać: Aby pokazać, że te wagi sumują się do 1, rozważ rozszerzenie 1 jako serię. Możemy napisać i rozwinąć wyrażenie w nawiasach za pomocą dwumianowej formuły (1- x) p. gdzie x (1-) i p -1, co daje: To zapewnia formę ważonej średniej ruchomej formy: To sumowanie można zapisać jako relację powtarzalności: co znacznie upraszcza obliczenia i unika problemu, że system ważenia powinno być bezwzględnie nieskończone, aby ciężary sumowały się do 1 (dla małych wartości alfa, zazwyczaj tak nie jest). Notacja stosowana przez różnych autorów jest różna. Niektórzy używają litery S, aby wskazać, że formuła jest zasadniczo zmienną wygładzoną i piszą: podczas gdy literatura z dziedziny teorii sterowania często używa Z zamiast S dla wykładniczo ważonych lub wygładzonych wartości (patrz, na przykład, Lucas i Saccucci, 1990, LUC1 oraz na stronie internetowej NIST po więcej szczegółów i opracowanych przykładów). Wymienione wyżej wzory wywodzą się z pracy Roberta (1959, ROB1), ale Hunter (1986, HUN1) używa wyrażenia formy: która może być bardziej odpowiednia do użycia w niektórych procedurach kontrolnych. W przypadku alfa 1 średnia wartość szacunkowa jest po prostu wartością zmierzoną (lub wartością poprzedniego elementu danych). Przy 0,5 oszacowanie to prosta średnia krocząca z bieżących i poprzednich pomiarów. W modelach prognostycznych wartość S t. jest często używana jako wartość szacunkowa lub prognoza dla następnego okresu czasu, tj. jako szacunek dla x w czasie t 1. Mamy więc: Pokazuje to, że wartość prognozy w czasie t 1 jest kombinacją poprzedniej ważonej ruchomą średnią z wykładnikiem plus składnik reprezentujący błąd ważonej prognozy, epsilon. w czasie t. Zakładając, że szereg czasowy jest podany, a prognoza jest wymagana, wymagana jest wartość alfa. Można to oszacować na podstawie istniejących danych, oceniając sumę kwadratów uzyskanych z predykcji z różnymi wartościami alfa dla każdego t 2,3. ustawienie pierwszego oszacowania jako pierwszej obserwowanej wartości danych, x 1. W aplikacjach kontrolnych wartość alfa jest ważna, ponieważ jest używana do określania górnej i dolnej granicy kontrolnej i wpływa na średnią oczekiwaną długość trasy (ARL) przed przekroczeniem tych granic kontrolnych (przy założeniu, że szeregi czasowe reprezentują zbiór losowych, identycznie rozłożonych zmiennych niezależnych ze wspólną wariancją). W tych okolicznościach wariancja statystyki kontrolnej to (Lucas i Saccucci, 1990): Granice kontrolne są zwykle ustalane jako stałe wielokrotności tej asymptotycznej wariancji, np. - 3 razy odchylenie standardowe. Jeśli na przykład alfa 0,25 i monitorowane dane mają rozkład normalny, N (0,1), gdy kontrolowane, limity kontroli będą - 1.134, a proces osiągnie jeden lub inny limit w 500 krokach średnio. Lucas i Saccucci (1990 LUC1) wyprowadzają poziomy ARL dla szerokiego zakresu wartości alfa i przy różnych założeniach, stosując procedury Markowa Chain. Tabele przedstawiają wyniki, w tym dostarczają ARL, gdy średnia z procesu kontroli została przesunięta o kilka wielokrotności odchylenia standardowego. Na przykład z przesunięciem 0,5 z parametrem alfa 0,25 wartość ARL jest mniejsza niż 50 kroków czasowych. Podejścia opisane powyżej są znane jako wygładzanie pojedynczego wykładniczego. ponieważ procedury są stosowane jednorazowo w szeregach czasowych, a następnie przeprowadza się analizy lub procesy kontrolne na wynikowym wygładzonym zbiorze danych. Jeśli zbiór danych zawiera trend i składniki sezonowe, można zastosować dwu - lub trójstopniowe wygładzanie wykładnicze jako środek do usuwania (jawnego modelowania) tych efektów (patrz dalej, sekcja na temat Prognozowania poniżej i przykład działania NIST). CHA1 Chatfield C (1975) Analiza szeregów czasowych: Teoria i praktyka. Chapman and Hall, Londyn HUN1 Hunter J S (1986) Wykładniczo ważona średnia ruchoma. J of Quality Technology, 18, 203-210 LUC1 Lucas J M, Saccucci M S (1990) Treść wykładnicza o średniej ważonej wykładniczej: Właściwości i ulepszenia. Technometrics, 32 (1), 1-12 ROB1 Roberts S W (1959) Testy kart kontrolnych oparte na geometrycznych średnich ruchomych. Technometrics, 1, 239-250Stata: Analiza danych i oprogramowanie statystyczne Nicholas J. Cox, Durham University, Wielka Brytania Christopher Baum, Boston College egen, ma () i jego ograniczenia Statarsquos najbardziej oczywistym dowodem do obliczania średnich kroczących jest funkcja ma () egen. Biorąc pod uwagę wyrażenie, tworzy ono średnią ruchomą okresu tego wyrażenia. Domyślnie jest traktowany jako 3. musi być nieparzysty. Jednakże, ponieważ ręczne wprowadzenie wskazuje, np., Ma () nie może być łączone z przez listę var:. i tylko z tego powodu nie ma zastosowania do danych panelowych. W każdym razie jest poza zbiorem poleceń specjalnie napisanych dla serii czasowych, aby zobaczyć szczegóły serii czasowych. Alternatywne podejścia Aby obliczyć średnie ruchome dla danych panelu, istnieją co najmniej dwie opcje. Oba zależą od wcześniejszego zestawu danych. Jest to bardzo warte zrobienia: nie tylko możesz zaoszczędzić sobie wielokrotnie określając zmienną panelu i zmienną czasu, ale Stata zachowuje się elegancko, biorąc pod uwagę wszelkie luki w danych. 1. Napisz własną definicję za pomocą generate Używając operatorów szeregów czasowych, takich jak L. i F. podać definicję średniej ruchomej jako argument do instrukcji generującej. Jeśli to zrobisz, oczywiście nie jesteś ograniczony do równo ważonych (nieważonych) średnich kroczących obliczanych przez egen, ma (). Na przykład, ważone równomiernie trzy-okresowe średnie kroczące byłyby podane przez niektóre wagi i można je łatwo określić: Można oczywiście określić wyrażenie, takie jak log (myvar) zamiast nazwy zmiennej, takiej jak myvar. Jedną dużą zaletą tego podejścia jest to, że Stata automatycznie robi to, co właściwe dla danych panelu: wartości wiodące i opóźniające są opracowywane w ramach paneli, tak jak logika dyktuje, że powinny one być. Najbardziej godną uwagi wadą jest to, że linia poleceń może być dość długa, jeśli średnia ruchoma obejmuje kilka terminów. Innym przykładem jest jednostronna średnia ruchoma oparta tylko na poprzednich wartościach. Może to być przydatne do generowania adaptacyjnego oczekiwania na to, co zmienna będzie bazować wyłącznie na informacji do tej pory: co może ktoś prognozować na bieżący okres w oparciu o cztery ostatnie wartości, stosując stały schemat ważenia (A 4-okresowe opóźnienie może być szczególnie często używane w kwartalnych seriach czasowych.) 2. Użyj egen, filter () from SSC Użyj napisanego przez użytkownika funkcji egen filter () z pakietu egenmore na SSC. W Stata 7 (zaktualizowanym po 14 listopada 2001 r.) Można zainstalować ten pakiet, po czym pomocna jest np. Szczegóły dotyczące filtru (). Dwa powyższe przykłady byłyby renderowane (w tym porównaniu podejście generujące jest być może bardziej przejrzyste, ale za chwilę zobaczymy przykład odwrotności). Opóźnienia są numerami. wyprowadza ujemne opóźnienia: w tym przypadku -11 rozwija się do -1 0 1 lub wyprowadzenie 1, opóźnienie 0, opóźnienie 1. Współczynniki, inna liczba, pomnożenie odpowiednich elementów opóźniających lub wiodących: w tym przypadku te elementy to F1.myvar . myvar i L1.myvar. Efektem opcji znormalizowanej jest skalowanie każdego współczynnika przez sumę współczynników, aby unormowanie koef (1 1 1) było równoważne ze współczynnikami 13 13 13, a normalizacja coef (1 2 1) jest odpowiednikiem współczynników 14 12 14 Musisz określić nie tylko opóźnienia, ale także współczynniki. Ponieważ egen, ma () dostarcza równie ważonego przypadku, głównym uzasadnieniem dla egen, filter () jest wspieranie nierównomiernie ważonego przypadku, dla którego należy podać współczynniki. Można również powiedzieć, że zobowiązanie użytkowników do określania współczynników jest niewielką presją na ich myślenie o tym, jakie współczynniki chcą. Głównym uzasadnieniem dla równych wag jest, jak sądzimy, prostota, ale jednakowe wagi mają kiepskie właściwości domen częstotliwości, aby wymienić tylko jedną uwagę. Trzeci przykład powyżej może być tak samo skomplikowany jak podejście generujące. Istnieją przypadki, w których egen, filter () daje prostszą formułę niż generuje. Jeśli potrzebujesz dziewięcio terminowego filtra dwumianowego, który klimatologowie uznają za przydatny, wygląda na to, że jest mniej straszny niż i łatwiejszy do uzyskania niż tak, jak w przypadku podejścia generującego, np., Filter () działa poprawnie z danymi panelu. W rzeczywistości, jak stwierdzono powyżej, zależy to od wcześniejszego zestawienia zbioru danych. Wskazówka graficzna Po obliczeniu średnich kroczących prawdopodobnie będziesz chciał spojrzeć na wykres. Napisany przez użytkownika tsgraph polecenia jest inteligentny o zestawach danych tsset. Zainstaluj go w aktualnym Stata 7 przez ssc inst tsgraph. A co z podzbiorem, jeśli żaden z powyższych przykładów nie wykorzystuje ograniczeń. W rzeczywistości egen, ma () nie pozwoli, jeśli zostanie określone. Czasami ludzie chcą używać, jeśli podczas obliczania średnich kroczących, ale ich użycie jest nieco bardziej skomplikowane niż zwykle. Czego można się spodziewać po średniej ruchomej obliczonej za pomocą if? Zidentyfikujmy dwie możliwości: Słaba interpretacja: nie chcę widzieć żadnych wyników dla wykluczonych obserwacji. Mocna interpretacja: Nie chcę nawet, abyś używał wartości dla wykluczonych obserwacji. Oto konkretny przykład. Przypuśćmy, że w wyniku jakiegoś warunku if uwzględnione są obserwacje 1-42, ale nie obserwacje 43. Jednak średnia ruchoma dla 42 będzie zależeć, między innymi, od wartości dla obserwacji 43, jeśli średnia rozciąga się do tyłu i do przodu i ma długość co najmniej 3, i będzie podobnie zależała od niektórych obserwacji 44 i dalej w pewnych okolicznościach. Domyślamy się, że większość ludzi wybierałaby słabą interpretację, ale czy to jest poprawne, np., Filter () również nie obsługuje, jeśli. Zawsze możesz zignorować to, czego chcesz, a nawet ustawić niepotrzebne wartości, które następnie znikną, używając polecenia Zamień. Notatka o brakujących wynikach na końcach serii Ponieważ ruchome średnie są funkcjami opóźnień i leadów, egen, ma () powoduje brak w miejscach opóźnień i potencjalnych nieobecności, na początku i na końcu serii. Opcja nomiss wymusza obliczenie krótszych, niecento - rowanych średnich ruchomych dla ogonów. W przeciwieństwie do tego, ani nie generuj, ani nie egen, filter () ma, lub pozwala, coś specjalnego, aby uniknąć brakujących wyników. Jeśli brakuje jakiejkolwiek wartości potrzebnej do obliczenia, brakuje tego wyniku. Do użytkowników należy podjęcie decyzji, czy i jakie operacje korekcyjne są wymagane w przypadku takich obserwacji, prawdopodobnie po zapoznaniu się z zestawem danych i rozważeniem jakiejkolwiek podstawowej wiedzy, która może zostać wykorzystana. Oświadczenie 04 listopada 2017, 19:36 Kochaniutko, pracuję z niezbilansowanym zestawem danych panelu, w którym panel var jest numerem funduszu, a zmienna czasowa to miesiąc. Tak więc pracuję z miesięcznymi szeregami czasowymi, ale z przerwami. Chcę tylko obliczyć 3-letni stosunek Sharpe'a, a także 3-letni Jennsens alfa dla każdego funduszu. Tak więc, jeśli jestem w 1992 r., Chciałbym obliczyć stosunek Sharpe'a dla tego roku za pomocą miesięcznych obserwacji z lat 1992 1991 1990. Aby to zrobić, potrzebuję średniej i sd nadwyżki zwrotu z każdego funduszu w tym okresie. Ponadto, chciałbym oszacować Jensens Alpha, uruchamiając model CAPM, używając ponownie miesięcznych obserwacji z lat 1992 1991 1990. W tym celu mogłem użyć polecenia statsby i użyć współczynników regresji działającej w tym okresie. Próbowałem wielu poleceń, takich jak rollreg, movavg, ma itp., A także niektórzy miejscowi, którzy mają foreachforvalues, ale nie mogę ich użyć, ponieważ nie mam zbalansowanego panelu i nie chcę eliminować funduszy, ponieważ mogę mieć jedną lub dwie luki. jest to przykład mojego zbioru danych o ryear miesiąc mktrf smb hml umd Nadmiar s ---------------------------------- ----------------------------------------- 2 1997 1. 2 1997 2 -. 0049 -.0261 .0469 -.0204. 2 1997 3 -.0503 -.0032 .0386 .0094 -.0181431 2 1997 4 .0404 -.0519 -.0102 .0489 .0117428 2 1997 5 .0674 .0483 -.0438 -.0519 .0372053 ---- -------------------------------------------------- --------------------- 2 1997 6 .041 .015 .0072 .0259 .0310222 2 1997 7 .0733 -.0252 -.0013 .0384 .0402394 2 1997 8 -0415 .0734 .0137 -.0252 -.0292168 2 1997 9 .0535 .0268 -.0025 .0145 .0381404 2 1998 1 .0015 -.0094 -.0207 .001 .0056473 ------ -------------------------------------------------- ------------------- 2 1998 2 .0703 .0032 -.0086 -.011 .0395531 2 1998 3 .0476 -.0099 .0123 .0214 .0277491 2 1998 4. 0073 .0048 .0027 .0078 .0005439 2 1998 5 -0,307 -0,044,0412 .0189 -,0093562 2 1998 6 .0318 -.0315 -0,0222,0726 .002362 -------- -------------------------------------------------- ----------------- 2 1998 7 -.0246 -.0492 -.0115 .0371 -.0232616 2 1998 8 -.1608 -.0575 .0524 .0187 -.091043 2 1998 9 .0615 -.0015 -.0388 -.0063 .0222817 2 1998 10 .0713 -.032 -.0277 -.0535 .0311223 2 1998 11. 061 .0114 -.0343 .0118 .0300834 ---------------------------------------- ----------------------------------- 2 1998 12 .0616 -.003 -.047 .0904 .0168859 7 1994 1 .0287 .0014 .021 .0001 .0183894 7 1994 2 -.0256 .0272 -.0141 -.0026 -.0170168 7 1994 3 -.0478 -.0096 .0134 -.0132 -.0656004 7 1994 4 .0068 -.0091 .0169 .0041 -.0032034 -------------------------------------- ------------------------------------- 7 1994 5 .0058 -.0201 .0018 -.0216 -.0093189 7 1994 6 -0 0303 -.0048 .0168 -.0083 -.0506594 7 1994 7 .0282 -.0178 .0098 .0019 .0199595 7 1994 8 .0401 .0145 -.0347 .0154 .0419298 7 1994 9 -.0231 .0268 -.0181 .0131 -.0135341 ------------------------------------ --------------------------------------- 7 1994 10 .0134 -0,022 -.0236 .0145 .0129598 7 ​​1994 11 -0404 -.0017 -.0005 -.0019 -.0433825 7 1994 12 .0086 .0005 .0026 .035 .0152948 05 listopada 2017, 11:35 Bardzo dziękuję za twoje posty. Jeśli chodzi o stosunek sharpe, to jest to kod, który napisałem i rozwiązuję mój problem. gen MeanVWExcRetGr. sort crspfundno ryear miesiąc forval i1990 (1) 2017 local mi-2 by crspfundno. egen Meanimean (VWExcRetGr) jeśli ryearli amp ryeargtm zastąpi MeanVWExcRetGrMeani jeśli ryeari To nie jest doskonałe, ale mam swoje środki w jednej kolumnie teraz, więc każdego roku mam taką samą wartość średniej kroczącej w moich miesięcznych obserwacjach (np.). Mówię, że nie jest to doskonałe, ponieważ w poleceniach nie precyzuję, że chcę uśredniać wartości tylko w przypadku, gdy mam 3 lata obserwacji. Oblicza także średnią w przypadku, w którym mam 2 lata obserwacji. Dobrą wiadomością jest to, że mogę wyeliminować te obserwacje. Zamieszczam powyższe informacje, ponieważ chcę, abyś zrozumiał, czego dokładnie potrzebuję. Chcę mieć alfa i beta, każdy w jednej kolumnie, aby móc ich używać do regresu na innych zmiennych. Dlatego w roku 1995 dla funduszu nr 100, który ma na przykład 11 miesięcznych obserwacji, chcę, aby wynik alfa z 3-letniej toczącej się (1995,1994,1993) regresji capm4 factor capm był powtarzany w 11 wierszach - komórki kolumny alfa. To samo dotyczy wersji beta. Zastosowałem kod Mata z pewnymi zmianami np. G group (crspfundno) gen alpha. mata mata clear stview (crspfundno. quotcrspfundno quot) stview (ryear. quotryearquot) stview (VWExcRetGr. quotVWExcRetGrquot) stview (mktrf. quotmktrfquot) stview (smb. quotsmbquot) stview (hml. quothmlquot) stview (umd. quotumdquot) stview (g. quotgquot) stview (alpha quotalphaquot) p panelsetup (crspfundno, 1) dla (i1 iltrows (p) i) dla (opi, 2 ogtpi, 1 o--) y J (1,1,) XJ (1,5 ,.) b . dla (do tgtpi, 1 t--) jeśli (idź, 1 gt, 1 amp ryearo, 1 - ryeart, 1 lt 2) yy VWExcRetGrt, 1 XX (mktrft, 1, smbt, 1, hmlt, 1, umdt, 1 , 1) rr (2..rows (y)) ,. XX (2..rows (X)) ,. if (wiersze (y) gt6) b invsym (krzyż (X, X)) krzyż (X, Y) Alphao, koniec 1 B5,1, ale wynik jest ten i nie obejmuje również wersji beta. Czy możesz mi pomóc fundno ryear miesiąc g alfa 5487 2001 1 478 -.0045781 5487 2001 2 478 -.0049922 5487 2001 3 478 -.0044039 5487 2001 4 478 -.0058963 5487 2001 5 478 -.0057021 5487 2001 6 478 - .0037893 5487 2001 7 478 -.0046226 5487 2001 8 478 -.0027665 5487 2001 9 478 -.0037288 5487 2002 1 478 .0009866 5487 2002 2 478 .0019246 5487 2002 3 478 .0019994 5487 2002 4 478 .002021 5487 2002 5 478 .0025631 5487 2002 6 478 .0019815 5487 2002 7 478 .0037848 5487 2002 8 478 .0035144 5487 2002 9 478 .003802 5487 2002 10 478 .0012915 5487 2002 11 478 .0016832 5487 2002 12 478 .0015888 Nie jestem pewien czy Rozumiem cię. Jednakże powtarzanie porady w wątku, do którego wcześniej Cię odesłałem, o niestosowaniu kodu Mata, gdy jest dostępny kod Staty, tutaj jest zaadaptowany kod z tego wątku, który zrobi regresję toczenia. Zajmie Ci to dużo czasu, jeśli masz duży zestaw danych. Daj mi znać, jeśli zajmie ci to dużo czasu. Radzę sprawdzić wyniki. 06 listopada 2017, 08:51 Do Abrahama: Naprawdę szybki kod Mata. Potrzebowałem tylko 1 minuty zamiast 2 godzin. Co więcej, działa lepiej, ponieważ daje brakujące wartości, jeśli mam tylko roczną obserwację. Bardzo dziękuję. Jedno ostatnie pytanie. Jeśli potrzebuję regresji capm, to znaczy tylko VWExcRetGr i mktrf, ale nie dla smb hml umd, to tak powinien wyglądać kod jak gen Alpha. gen bMktrf. mata mata clear stview (crspfundno. quotcrspfundnoquot) stview (ryear. quotryearquot) stview (VWExcRetGr. quotVWExcRetGrquot) stview (mktrf. quotmktrfquot) stview (Alpha. quotAlphaquot) stview (bMktrf. quotbMktrfquot) p panelsetup (crspfundno, 1) dla (i1 iltrows (p) i) dla (opi, 1 oltpi, 2 o) y VWExcRetGro, 1 X (mktrfo, 1 .1) b. dla (tpi, 1 tltpi, 2 t) jeśli (do amp crspfundnoo, 1 crspfundnot, 1 amp (ryearo, 1 - ryeart, 1 lt 2) amp ryearo, 1 gt ryeart, 1) yy VWExcRetGrt, 1 XX (mktrft, 1 1) jeśli (wiersze (y) gt6) b invsym (krzyż (X, X)) krzyż (X, y) Alphao, 1 b2,1 bMktrfo, 1 b1,1 W kodzie obliczacie odchylenie standardowe według kraju i przemysł (używając podsumowania), ale następnie zamienisz tę wartość na SDx innych krajów (w wewnętrznej pętli). Czy to właśnie chcesz zrobić Napisałem kod Mata zakładając, że chcesz obliczyć odchylenie standardowe dla każdego kraju i branży. Jeśli chcesz obliczyć według kraju i branży, musisz dodać: Oto kod Mata (oblicza odchylenie standardowe również wtedy, gdy okno jest krótsze niż 4 lata):

Comments

Popular Posts