Обчисліть стандартні помилки Ньюї-Заходу без lm-об'єкта в R


13

Я вчора поставив це питання на StackOverflow і отримав відповідь, але ми погодилися, що це здається трохи хакітським і може бути кращий спосіб його розглянути.

Питання: Я хотів би обчислити стандартні помилки Newey-West (HAC) для вектора (у цьому випадку вектор фондової віддачі). Функція NeweyWest()в sandwichпакеті робить це, але приймає lmоб'єкт як вхід. Рішення, яке запропонував Йоріс Мейс, полягає в проектуванні вектора на 1, що перетворює мій вектор на залишки, на які подається NeweyWest(). Тобто:

as.numeric(NeweyWest(lm(rnorm(100) ~ 1)))

для дисперсії середнього.

Чи повинен я робити це так? Або є спосіб більш безпосередньо робити те, що я хочу? Спасибі!


1
Питання не ясно. Що ви маєте на увазі під «стандартною помилкою для вектора»? Зазвичай ми хочемо стандартної помилки оцінки параметра. Який параметр ви оцінюєте? Код, який ви надали, виробляє оцінку Newey West середньої середньої похибки квадрата. Це те, чого ти хочеш?
Сайрус S

@Cyrus - Під «вектором» я маю на увазі не lmоб’єкт. У мене часто є вектор (скажімо, ряд прибутків акцій), який я не хочу залучати до жодних регресій (тому що мені все одно, це прогноз, окрім 1), але для якого я все-таки хочу ВАС стандартна помилка. У цьому випадку оцінка параметра - це фондовіддача. Відповідь вище робить це, але вимагає обчислити lmоб'єкт, який мені справді не потрібен. Тож мені цікаво, чи є у R рутина, яка робить це без створення lmоб’єкта.
Річард Геррон

Вибачте, досі незрозуміло: "У цьому випадку оцінка параметра - це повернення запасів." Під цим ви маєте на увазі "середній показник прибутковості акцій у серії"? Якщо так, то те, що у вас є, прекрасно.
Сайрус S

@Cyrus - Я знаю, що те, що у мене є, працює, але я сподівався, що є спосіб обчислити SE, не проходячи через lmоб'єкт для випадку одного вектора. Я думаю, що не. Дякуємо, що допомогли мені уточнити моє запитання!
Річард Геррон

Відповіді:


15

Припустимо, у нас регресія

y=Xβ+u

Тоді оцінка OLS є і припускаючи, що - неупереджена оцінка, у нас є β^

β^β=(XX)1Xu
β^
Var(β^)=E[(XX)1XuuX(XX)1]

Звичайні припущення OLS полягають у тому, що і що дає нам Ця коваріаційна матриця зазвичай повідомляється в статистичних пакетах.E(u|X)=0E(uu|X)=σ2In

Var(β^)=σ2E(XX)1

Якщо гетероскедастичні та (або) автокорельовані, то і звичайний вихід дає результати. Для отримання правильних результатів обчислюються стандартні помилки HAC. Всі методи для помилок HAC обчислюють Вони залежать від своїх припущень, як виглядає .uiE(uu|X)σ2In

diag(E(XX)1XuuX(XX)1).
E(uu|X)

Тож природно тоді функція NeweyWestвимагає лінійної моделі. Метод Ньюї-Веста обчислює правильні стандартні помилки оцінки лінійної моделі. Тож ваше рішення цілком правильне, якщо ви припускаєте, що фондовий прибуток слід за моделлю і ви хочете оцінити захист від нерівностей .

rt=μ+ut
Var(μ)ut

Якщо, з іншого боку, ви хочете оцінити "правильний" (що б це не означало), ви повинні перевірити моделі нестабільності, такі як GARCH та його варіанти. Вони припускають, що де є нормальним. Мета полягає в тому, щоб правильно оцінити . Тоді і ви маєте "правильну" оцінку вашої дисперсії, захищаючи від звичайних ідіосинкрасій повернення акцій, таких як кластеризація нестабільності, скасованість тощо.r t = σ t ε t ε t σ t V a r ( r t ) = V a r ( σ t )Var(rt)

rt=σtεt
εtσtVar(rt)=Var(σt)

Спасибі! Для мене може не бути більш ефективного способу кодування цього, ніж формування lmоб'єкта.
Річард Геррон

Я здогадуюсь, що lmоб’єкт - це шлях! Дякую за чудове резюме ... інколи в додатку я занадто далеко від теорії.
Річард Геррон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.