Negativ varians? (Svenska)

Med formeln w * Cov * t (w) kan jag skapa en negativ portföljvarians. Vilka är konsekvenserna av en negativ varians? Ska jag bara anta att det är noll? En negativ varians är besvärlig eftersom man inte kan ta kvadratroten (för att uppskatta standardavvikelsen) av ett negativt tal utan att tillgripa imaginära tal. Det verkar inte heller överensstämma med formeln för varians som är genomsnittet av kvadratavvikelserna från medelvärdet eftersom kvadrering alltid ger ett positivt tal.

Den negativa variansen är toppen av isberget för mitt verkliga problem. Jag har en kovariansmatris som representerar (ex-ante) förväntningar. Jag har inte och vill inte använda historiska avkastningar. Jag har 23 tillgångsslag. Jag har lekt med en viss portföljoptimering (inte medelvariation). Jag kommer med en uppsättning vikter (w) för en optimal portfölj. Jag har också en uppsättning vikter för mitt riktmärke (b). Jag beräknar ett spårningsfel. Kvadrat för spårningsfelet ska vara (w-b) * cov * t (w-b). Detta är vad som är negativt.

Dessutom är mina vikter tillräckligt olika från mitt riktmärke för att inspektion och intuition säger att noll är fel svar. För att ytterligare bevisa detta genererade jag 1000 slumpmässiga avkastningar (med mina antaganden för avkastning och kovariansmatris) för tillgångsklasserna och beräknade 1000 avkastningar för w och för b. Sedan beräknade jag skillnaden och sedan tog jag variansen. Och eftersom jag har en dator upprepade jag detta 1000 gånger. Det lägsta spårningsfelet (kvadratroten av skillnaden i skillnader) var 2,7%. Så jag är säker på att variansen ska vara positiv.

FWIW, jag har en 23×23 kovariansmatris. Det mesta kommer från en offentlig källa ( Research Dotterbolag ). Jag lägger till kommunala obligationer. Jag är ganska nöjd med kovariansmatrisen genom att andra användningsområden för den – t.ex. portföljvariansen mellan w och b verkar vara stor.

Varje insikt i antingen vad jag kan göra fel antingen beräkningsmässigt eller genom tolkning skulle uppskattas. Allt mitt arbete är i R och jag kunde dela lite data och kod.

Kommentarer

  • Din matris är inte halvdefinierad positiv, därför är den inte en kovariansmatris. Det är ett problem med ”manuellt” designade ”kovarians” -matriser. Det finns sätt att skapa en legitim kovariansmatris som är ”nära” (på något avståndsavstånd) från din matris.
  • Kan du lägga upp data för din var / cov-matris? Som kommentaren ovan indikerar är det mycket troligt att det inte är positivt halvt definierat.

Svar

Som påpekat ut av andra användare här är din designade kovariansmatris till synes inte positiv-definitiv och därför får du detta konstiga beteende.

Observera att detta inte bara är ett matematiskt problem utan ett ekonomiskt.

Som leksaksexempel, se på detta: Om A och B är starkt negativt korrelerade (säg -1) kan de inte båda vara negativt korrelerad (igen -1) till en tredje C. Du kan designa (= skriva ner) en sådan matris men det här är något du inte kan stöta på i rätt matematik eller i verkligheten.

Vad du kan göra:

  1. Välj icke-negativa avvikelser för varje tillgång $ V = diag (v_1, v_2, \ ldots, v_n) $
  2. välj en positiv-bestämd matris för korrelationerna $ C $
  3. Beräkna $ Cov = \ sqrt {V} C \ sqrt {V} $ där kvadratroten är komponentvis.

Beräkningen i det tredje steget diskuteras i stack.overflow . Paketet corpcor erbjuder sätt att krympa samvarianter till valda mål och erbjuder kontroller för positiv definitet.

Funktionen make.positive.definite är tillgängligt som hittar den närmaste (i vald mening) positivt bestämd matris till någon given.

Svar

Som Ivan påpekade i sin kommentar är din matris inte en giltig kovariansmatris. Med andra ord finns det ingen datamängd (med fullständiga observationer) som du kunde ha uppskattat en sådan kovariansmatris från.

Det enklaste sättet att reparera en sådan matris är att ersätta matrisens negativa egenvärden med nollor . Denna metod implementeras i funktion repairMatrix i R-paketet NMOF , som jag underhåller.

Svar

Ivans kommentar är ett bra svar. Jag lägger till något men skapar främst en svara istället för en kommentar för att se till att sökresultaten visar att det finns ett svar. Min kovariansmatris borde vara positiv semi-definitiv. Som jag förstår det översätter detta ungefär att det är som ett icke-negativt tal. När du multiplicerar med den får du noll eller något med samma tecken.Här är en länk till en kort förklaring av positivt halvt bestämt och positivt bestämt som jag tyckte var användbart. Tack Ivan.

Kommentarer

  • Detta är inte korrekt. För att kontrollera att din matris är positiv halvt har du flera alternativ som är det enklaste att kontrollera att alla egenvärden är positiva. Ett annat bra alternativ är att kontrollera om dess främsta mindreåriga är positiva. Matlab kan kontrollera det på en bråkdel av en sekund.
  • En positiv halvdefinierad matris innebär att $ x ’ \ Sigma x $ är icke-negativt, för alla riktiga $ x $. För en positiv bestämd matris är $ x ’ \ Sigma x $ strikt större än noll.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *