Negatív variancia?

A w * Cov * t (w) képlet segítségével negatív portfólióvariációt generálhatok. Milyen következményekkel jár a negatív variancia? Csak azt kell feltételeznem, hogy nulla? A negatív variancia zavaró, mert a negatív szám négyzetgyökét (a standard deviáció becsléséhez) nem lehet úgy képzeletbeli számokhoz folyamodni. Nem tűnik konzisztensnek a varianciaképlettel sem, amely az átlagtól való négyzetbeli eltérések átlaga, mivel a négyzetezés mindig pozitív számot eredményez.

A negatív szórás az igazi problémám jéghegyének csúcsa. Van egy kovarianciamátrixom, amely az (előzetes) elvárásokat reprezentálja. Nincs és nem is akarok történeti hozamokat használni. 23 eszközosztályom van. Játszottam néhány portfólióoptimalizálással (ez nem azt jelenti, hogy variancia). Az optimális portfólióhoz kitalálok egy sor súlyt (w). Van egy sor súlyom is a benchmarkomhoz (b). Számolok nyomkövetési hiba. A követési hiba négyzetének (w-b) * cov * t (w-b) kell lennie. Ez az, ami negatív.

Ezenkívül a súlyom kellően különbözik a referenciaértékemtől, hogy az ellenőrzés és az intuíció azt mondja, hogy a nulla a rossz válasz. Ennek további bizonyításához 1000 véletlenszerű hozamot generáltam (a megtérülési feltételezések és a kovariancia mátrix alapján) az eszközosztályokra, és 1000 hozamot számoltam w és b értékekre. Aztán kiszámoltam a különbséget, majd felvettem a szórást. És mivel van számítógépem, ezt 1000 alkalommal megismételtem. A legkisebb követési hiba (a különbségek szórásának négyzetgyöke) 2,7% volt. Tehát abban vagyok biztos, hogy a varianciának pozitívnak kell lennie.

FWIW, 23×23 kovarianciamátrixom van. A legtöbb nyilvános forrásból származik ( kutatás Társult vállalkozások ). Önkormányzati kötvényeket adok hozzá. Nagyon elégedett vagyok a kovariancia mátrixszal, amelyet más felhasználási módok használnak – pl. a w és a b portfólióvariációja nagyszerűnek tűnik.

Bármely betekintés abba, hogy mit csinálhatok rosszul, akár számítási szempontból, akár értelmezéssel, értékelhető lenne. Minden munkám R-ben van, és meg tudnék osztani néhány adatot és kódot.

Megjegyzések

  • Az Ön mátrixa nem félig határozott pozitív, ezért nem kovariancia mátrix. Ez az egyik probléma a „manuálisan” tervezett „kovariancia” mátrixokkal. Vannak olyan módszerek, amelyek lehetővé teszik egy olyan legitim kovarianciamátrix létrehozását, amely „közeli” (bizonyos távolsági értelemben) a mátrixodtól.
  • Feladhatod a var / cov-mátrixod adatait? Mivel a fenti megjegyzés azt mutatja, hogy nagy valószínűséggel nem pozitív, félhatározott.

Válasz

Mint rámutattunk más felhasználók itt a tervezett kovariancia-mátrix látszólag nem pozitív-határozott, ezért ezt a furcsa viselkedést tapasztalja.

Felhívjuk figyelmét, hogy ez nemcsak matematikai, hanem gazdasági probléma is.

Játékpélda erre: Ha A és B erősen negatív korrelációban vannak (mondjuk -1), akkor nem tudnak mind legyen negatív korrelációban (megint -1) egy harmadik C-vel. Megtervezhet (= leírhat) egy ilyen mátrixot, de ez az, amellyel a helyes matematikában vagy a való életben nem találkozhat.

Mi megteheti:

  1. Válasszon nem negatív varianciákat minden eszközre $ V = diag (v_1, v_2, \ ldots, v_n) $
  2. válasszon pozitív-meghatározott mátrixot a korrelációkhoz $ C $
  3. Számítsa ki a $ Cov = \ sqrt {V} C \ sqrt {V} $ pontot, ahol a négyzetgyök összetevő.

A harmadik lépés számítását a stack.overflow oldalon tárgyaljuk. A corpcor csomag lehetőséget kínál a kovariancia csökkentésére a kiválasztott célokig, és felajánlja a pozitív meghatározhatóság ellenőrzését.

A elérhető, amely megtalálja a legközelebb álló (meghatározott értelemben vett) pozitív-meghatározott mátrixot valamilyen adotthoz.

Válasz

Ahogy Ivan megjegyezte, az ön mátrixa nem érvényes kovarianciamátrix. Másképp fogalmazva: nincs olyan adatkészlet (teljes megfigyelésekkel), amelyből megbecsülhette volna egy ilyen kovariancia mátrixot.

Az ilyen mátrix javításának legegyszerűbb módja, ha a mátrix negatív sajátértékeit nullákkal helyettesítjük. . Ez a módszer a repairMatrix függvényben valósul meg az R csomagban NMOF , amit fenntartok.

Válasz

Iván megjegyzése jó válasz. Valamit hozzáadok, de főleg egy válasz helyett megjegyzést, hogy megbizonyosodjon arról, hogy a keresési eredmények szerint van-e válasz. A kovariancia mátrixomnak pozitívnak, félhatározottnak kell lennie. Ahogy megértem, ez nagyjából azt jelenti, hogy nem negatív szám. Ha megszorzod vele, akkor nulla értéket kapsz, vagy valami azonos előjellel.Itt található egy link a pozitív félhatározott és pozitív határozott rövid magyarázatához, amelyet hasznosnak találtam. Köszönöm Iván.

Megjegyzések

  • Ez nem helyes. Ennek ellenőrzéséhez a mátrixa félig határozott, több lehetőség közül választhat, amelyek közül a legkönnyebb ellenőrizni, hogy az összes sajátérték pozitív-e. Egy másik jó alternatíva annak ellenőrzése, hogy a vezető fő kiskorúak pozitívak-e. A Matlab másodperc töredéke alatt ellenőrizheti.
  • A pozitív félhatározott mátrix azt jelenti, hogy $ x ‘ \ Sigma x $ nem negatív, bármilyen valós $ x $. Pozitív meghatározott mátrix esetén a $ x ‘ \ Sigma x $ szigorúan nagyobb, mint nulla.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük