Średnia krocząca z funkcjami analitycznymi Oracle Ten mały przykład pokazuje, jak korzystać z funkcji analitycznych Oracles, aby uzyskać średnią kroczącą. Najpierw musisz stworzyć i wczytać tabelę zawierającą średnią miesięczną temperaturę w Edynburgu w latach 1764-1820. Skrypt do tego można znaleźć tutaj. Po wypełnieniu tej tabeli, użyj tej instrukcji, aby znaleźć średnią temperaturę z ostatnich 12 miesięcy dla każdego miesiąca w zestawie wyników: (skróconym) wynikiem jest: Druga i trzecia kolumna to miesiąc i rok. Pierwsza kolumna to średnia temperatura w tym miesiącu ostatnia kolumna jest średnią z bieżących i ostatnich 11 miesięcy średnich temperatur. Średnia miesięczna w T-SQL Wspólnym obliczeniem w analizie trendów jest średnia ruchoma (lub walcowa). Średnia krocząca to średnia z ostatnich 10 wierszy. Średnia ruchoma pokazuje bardziej gładką krzywą niż rzeczywiste wartości, bardziej z dłuższym okresem dla średniej ruchomej, co czyni ją dobrym narzędziem do analizy trendów. Ten post na blogu pokaże, jak obliczyć średnią ruchomą w T-SQL. W zależności od wersji programu SQL Server będą stosowane różne metody. Poniższa tabela pokazuje efekt wygładzania (czerwona linia) z 200-dniową średnią kroczącą. Notowania giełdowe są niebieską linią. Długoterminowy trend jest wyraźnie widoczny. T-SQL Moving Avergage 200 dni Poniższa demonstracja wymaga bazy danych TAdb, którą można utworzyć za pomocą skryptu znajdującego się tutaj. W nadchodzącym przykładzie obliczymy średnią ruchomą z ostatnich 20 dni. W zależności od wersji SQL Server, będzie inna metoda wykonywania obliczeń. I, jak zobaczymy później, nowsze wersje SQL Server mają funkcje umożliwiające znacznie bardziej efektywne obliczenia. SQL Server 2017 i nowsze wersje Średnia ruchoma Ta wersja korzysta z funkcji zagregowanej okna. Co nowego w SQL 2017 to możliwość ograniczenia rozmiaru okna poprzez określenie liczby wierszy poprzedzających okno: Wiersze poprzedzające to 19, ponieważ uwzględnimy również bieżący wiersz w obliczeniach. Jak widać, obliczenie średniej ruchomej w SQL Server 2017 jest dość proste. Poniższy rysunek demonstruje zasadę okienkowania. Bieżący wiersz jest oznaczony kolorem żółtym. Okno jest oznaczone niebieskim tłem. Średnia ruchoma to po prostu średnia z QuoteClose w niebieskich liniach: T-SQL Średnie ruchome okno. Wyniki obliczeń w starszych wersjach SQL Server są takie same, więc nie będą ponownie wyświetlane. SQL Server 2005 8211 2008R2 Średnia ruchoma Ta wersja korzysta ze wspólnego wyrażenia tabelowego. CTE jest samo referencyjny, aby uzyskać ostatnie 20 wierszy dla każdego wiersza: Średnia ruchoma przed SQL Server 2005 Wersja przed 2005 używa lewego sprzężenia zewnętrznego do tej samej tabeli, aby uzyskać ostatnie 20 wierszy. Można powiedzieć, że zewnętrzna tabela zawiera okno, w którym chcemy obliczyć średnią: Porównywanie wyników Jeśli uruchomimy trzy różne metody jednocześnie i sprawdzimy wynikowy plan wykonania, występuje dramatyczna różnica w wydajności między metodami: Porównanie trzech różne metody obliczania średniej kroczącej Jak widać, ulepszenia funkcji okienkowania w SQL 2017 znacznie poprawiają wydajność. Jak wspomniano na początku tego postu, średnie ruchome są używane jako narzędzie do zilustrowania trendów. Wspólnym podejściem jest łączenie średnich ruchomych o różnych długościach, aby odpowiednio uwzględnić zmiany w krótko-, średnio - i długoterminowych trendach. Szczególnie interesujące jest przekraczanie linii trendu. Na przykład, gdy krótki trend porusza się w długim lub średnim trendzie, można to zinterpretować jako sygnał kupna w analizie technicznej. A kiedy krótki trend porusza się pod dłuższą linią trendu, można to zinterpretować jako sygnał sprzedaży. Poniższy wykres pokazuje Cytaty, Ma20, Ma50 i Ma200. Sygnały kupna i sprzedaży T-SQL Ma20, Ma50, Ma200. Ten wpis na blogu jest częścią serii o analizie technicznej, TA, w SQL Server. Zobacz inne posty tutaj. Autor: Tomas LindJeśli widzisz ten komunikat, Twoja przeglądarka wyłączyła lub nie obsługuje JavaScript. Aby korzystać z pełnych funkcji tego systemu pomocy, takich jak wyszukiwanie, twoja przeglądarka musi mieć włączoną obsługę JavaScript. Ważone średnie kroczące z prostymi średnimi kroczącymi, każda wartość danych w quotwindowquot, w którym wykonywane są obliczenia, ma takie samo znaczenie lub wagę. Często zdarza się, zwłaszcza w analizie danych finansowych, że więcej chronologicznie aktualnych danych powinno mieć większą wagę. W takich przypadkach często preferowana jest funkcja ważonej średniej ruchomej (lub wykładniczej średniej ruchomej - patrz następny temat). Rozważ tę samą tabelę wartości danych dotyczących sprzedaży za dwanaście miesięcy: Aby obliczyć średnią ważoną ruchomą: obliczyć, ile przedziałów danych bierze udział w obliczeniach średniej ruchomej (to jest wielkości obliczonej wartości). Jeśli okno obliczeń ma wartość n, to najnowsza wartość danych w oknie jest mnożona przez n, następna ostatnia pomnożona przez n-1, wartość przed tą pomnożona przez n-2 i tak dalej dla wszystkich wartości w oknie. Podziel sumę wszystkich pomnożonych wartości przez sumę wag, aby uzyskać ważoną średnią ruchomą w tym oknie. Umieść wartość ważonej średniej ruchomej w nowej kolumnie zgodnie z opisanymi powyżej pozycjami średnich średnich wleczonych. Aby zilustrować te kroki, należy rozważyć, czy wymagana jest trzymiesięczna ważona ruchomej średniej sprzedaży w grudniu (przy użyciu powyższej tabeli wartości sprzedaży). Termin quot3-monthquot oznacza, że obliczona wartość jest równa 3, dlatego algorytm kalkulacji ważonej średniej ruchomej dla tego przypadku powinien być: lub, jeśli ważona średnia ważona 3-miesięczna była oceniana w całym oryginalnym zakresie danych, wyniki byłyby następujące: : 3-miesięczna ważona średnia ruchoma
Comments
Post a Comment