거시경제 지표에 기반한 시장 예측 - 페이지 56

 
Vladimir :

3: 만기가 다른증권에 대한 수익률 + 1개

1974년 매수 및 보유 연간 비율 - 현재: APR = 7.35%

경제 지표를 사용한 매수 및 매도 전략: APR = 13.18%

이 전략은 2019년 12월에 매도 신호를 보냈습니다. 지금까지 매수 신호를 보내지 않았습니다. 시장이 무너지는 것 같습니다.

구입하여 보관합니다.

그러한 모델의 전방 테스트를 보는 것은 흥미로울 것이지만 여기서는 불가능합니다.

이제 제가 알기로는 모두가 선거를 기다리고 있습니다.

 
Vladimir :

3: 다른 기간의 유가 증권 수익률 + 하나 더

1974년 매수 및 보유 연간 비율 - 현재: APR = 7.35%

경제 지표를 사용한 매수 및 매도 전략: APR = 13.18%

이 전략은 2019년 12월에 매도 신호를 보냈습니다. 지금까지 매수 신호를 보내지 않았습니다. 시장이 무너지는 것 같습니다.

특정 도구 또는 일반적인 지표에 대해 이야기하고 있습니까?

 
Vladimir :

따라서 작업은 사용 가능한 경제 지표를 기반으로 S&P 500 지수를 예측하는 것입니다.

1단계: 지표를 찾습니다. 지표는 http://research.stlouisfed.org/fred2/에서 공개적으로 사용할 수 있습니다. 그 중 240,000개가 있습니다. 가장 중요한 것은 GDP 성장률입니다. 이 지표는 분기마다 계산됩니다. 따라서 우리의 단계 - 3 개월. 더 짧은 기간의 모든 지표는 3개월 동안 다시 계산되고 나머지(연간)는 폐기됩니다. 또한 미국을 제외한 모든 국가의 지표와 역사가 깊지 않은 지표(최소 15년)는 버립니다. 따라서 힘든 작업으로 많은 지표를 걸러내고 약 10,000개의 지표를 얻습니다. 우리는 분기 기간 동안 10,000개의 경제 지표를 사용할 수 있도록 S&P 500 지수를 1~2분기 전에 예측하는 보다 구체적인 작업을 공식화합니다. R에서는 가능하지만 MatLab에서 모든 작업을 수행합니다.

2단계: 미분 및 정규화를 통해 모든 데이터를 고정된 형태로 변환합니다. 여기에는 많은 방법이 있습니다. 가장 중요한 것은 변환된 데이터에서 원본 데이터를 복원할 수 있다는 것입니다. 고정성이 없으면 어떤 모델도 작동하지 않습니다. 전환 전과 후의 S&P 500 시리즈는 아래와 같습니다.

3단계: 모델을 선택합니다. 아마도 신경망일 것입니다. 다변수 선형 회귀 를 수행할 수 있습니다. 다변수 다항식 회귀를 수행할 수 있습니다. 선형 및 비선형 모델을 테스트한 후 데이터가 너무 시끄럽기 때문에 비선형 모델을 입력하는 것이 의미가 없다는 결론에 도달했습니다. y = S&P 500이고 x = 10,000개 지표 중 하나인 y(x) 그래프는 거의 원형에 가까운 구름입니다. 따라서 우리는 작업을 훨씬 더 구체적으로 공식화합니다. 다변수 선형 회귀를 사용하여 분기별 10,000개의 경제 지표가 있는 S&P 500 지수를 1~2분기 전에 예측합니다.

4단계: 10,000에서 가장 중요한 경제 지표를 선택합니다(문제의 차원 축소). 가장 중요하고 어려운 단계입니다. S&P 500의 역사를 30년(120분기)이라고 가정해 보겠습니다. S&P 500을 다양한 종류의 경제 지표의 선형 조합으로 나타내려면 이 30년 동안 S&P 500을 정확하게 설명할 수 있는 120개의 지표로 충분합니다. 더욱이, 120개의 지표와 120개의 S&P 500 값의 정확한 모델을 생성하기 위해 지표는 절대적으로 무엇이든 될 수 있으므로 설명된 함수 값의 수 이하로 입력 수를 줄여야 합니다. 예를 들어, 우리는 10-20개의 가장 중요한 입력 지표를 찾고 있습니다. 엄청난 수의 후보 기반(사전)에서 선택된 적은 수의 입력으로 데이터를 설명하는 이러한 작업을 희소 코딩(sparse coding)이라고 합니다.

예측 변수 입력을 선택하는 방법에는 여러 가지가 있습니다. 나는 그들 모두를 시도했다. 다음은 주요 두 가지입니다.

  1. 10,000개의 데이터를 모두 S&P 500 예측력으로 분류하고 예측력은 상관계수나 상호 정보로 측정할 수 있습니다.
  2. 하단에 있는 10,000개의 지표를 모두 살펴보고 가장 작은 오차로 S&P 500을 설명하는 선형 모델 y_mod = a + b*x1을 제공하는 지표를 선택합니다. 그런 다음 나머지 10,000 -1 표시기를 정렬하여 두 번째 입력을 다시 선택하여 오류가 가장 적은 나머지 y - y_mod = c + d*x2를 설명합니다. 등. 이 방법을 단계적 회귀 또는 일치 추적이라고 합니다.

다음은 S&P 500과의 상관 계수가 가장 높은 상위 10개 지표입니다.

시리즈 ID 지연 코르 뮤트 정보
'PPICRM' 2 0.315 0.102
'CWUR0000SEHE' 2 0.283 0.122
'CES1021000001' 하나 0.263 0.095
'B115RC1Q027SBEA' 2 0.262 0.102
'CES1000000034' 하나 0.261 0.105
'A371RD3Q086SBEA' 2 0.260 0.085
'B115RC1Q027SBEA' 하나 0.256 0.102
'CUUR0000SAF111' 하나 0.252 0.117
'CUUR0000SEHE' 2 0.251 0.098
'USMINE' 하나 0.250 0.102

다음은 S&P 500과 가장 상호 정보가 풍부한 상위 10개 지표입니다.

시리즈 ID 지연 코르 뮤트 정보
'CPILEGSL' 0.061 0.136
'B701RC1Q027SBEA' 0.038 0.136
'CUSR0000SAS' 0.043 0.134
'GDPPOT' 0.003 0.134
'NGDPOT' 5 0.102 0.134
'오섹' 4 0.168 0.133
'LNU01300060' 0.046 0.132
'LRAC25TTUSM156N' 0.046 0.132
'LRAC25TTUSQ156N' 0.046 0.131
'CUSR0000SAS' 하나 0.130 0.131

지연은 시뮬레이션된 S&P 500 시리즈에 대한 입력 시리즈의 지연입니다. 이 표에서 볼 수 있듯이 가장 중요한 입력을 선택하는 다양한 방법으로 인해 다른 입력 세트가 생성됩니다. 최종 목표는 모델 오류를 최소화하는 것이므로 두 번째 입력 선택 방법, 즉 모든 입력의 열거 및 가장 적은 오류를 제공한 입력의 선택.

5단계: 모델의 오류 및 계수를 계산하는 방법을 선택합니다. 가장 간단한 방법은 COEX 방법이므로 이 방법을 사용한 선형 회귀가 널리 사용됩니다. RMS 방법의 문제점은 이상값에 민감하다는 것입니다. 이러한 이상치는 모델의 계수에 상당한 영향을 미칩니다. 이 민감도를 줄이기 위해 제곱 오차의 합 대신 오차의 절대값 합을 사용할 수 있으며, 이는 최소 계수(MLM) 또는 강력한 회귀 방법으로 이어집니다. 이 방법은 선형 회귀와 달리 모델 계수에 대한 분석 솔루션이 없습니다. 일반적으로 모듈은 평활/미분 가능한 근사 함수로 대체되며 솔루션은 수치적 방법으로 수행되며 오랜 시간이 걸립니다. 나는 두 가지 방법(린 회귀 및 MHM)을 모두 시도했지만 MHM의 많은 이점을 알아차리지 못했습니다. MHM 대신 우회했습니다. 고정 데이터를 미분하여 얻는 두 번째 단계에서 비선형 정규화 연산을 추가했습니다. 즉, 원래 계열 x[1], x[2], ... x[i-1], x[i] ...가 먼저 차분 계열 x[2]-x[1] 로 변환됩니다. .. x [i]-x[i-1] ... 그런 다음 각 차이를 sign(x[i]-x[i-1])*abs(x[i]-x[ i-1] )^u, 여기서 0 < u < 1. u=1의 경우 특이치에 대한 민감도가 있는 고전적인 COSE 방법을 얻습니다. u=0에서 입력 계열의 모든 값은 이상치가 거의 없는 이진 값 +/-1로 대체됩니다. u=0.5의 경우 MNM에 가까운 값을 얻습니다. u의 최적 값은 0.5와 1 사이에 있습니다.

데이터를 고정 형식으로 변환하는 인기 있는 방법 중 하나는 계열 값을 이러한 값의 로그 차이로 바꾸는 것입니다. log(x[i]) - log(x[i-1]) 또는 log(x[i]/x[i-1]). 10,000개 항목의 사전에는 0과 음수 값이 있는 행이 많기 때문에 이러한 변환을 선택하는 것은 제 경우에 위험합니다. 로그는 또한 이상값에 대한 RMS 방법의 민감도를 줄이는 이점이 있습니다.기본적으로 내 변환 함수 sign(x)*|x|^u는 log(x)와 동일한 목적을 갖지만 0과 관련된 문제는 없습니다. 음수 값.

6단계: 새로운 입력 데이터를 대체하고 이전 히스토리 세그먼트에서 선형 회귀로 찾은 동일한 모델 계수를 사용하여 모델 출력을 계산하여 모델 예측을 계산합니다. 여기서 경제 지표와 S&P 500의 분기별 가치는 거의 동시에 나온다는 점을 명심하는 것이 중요합니다(정확도 3개월). 따라서 다음 분기의 S&P 500을 예측하려면 S&P 500의 현재 분기별 가치와 최소 1/4 지연된 항목 사이에 모델을 구축해야 합니다(지연>=1). 한 분기 앞서 S&P 500을 예측하려면 S&P 500의 현재 분기별 가치와 최소 2분기 지연된 항목(지연>=2) 사이에 패턴을 구축해야 합니다. 등. 2보다 큰 지연이 증가하면 예측의 정확도가 크게 감소합니다.

7단계: 이전 이력에 대한 예측의 정확성을 확인합니다. 위에서 설명한 원래 기술(각 입력을 이전 기록에 넣고, 가장 작은 MSD를 제공하는 입력을 선택하고, 해당 입력의 새로운 값에서 예측을 계산)은 무작위 또는 null 예측보다 훨씬 더 나쁜 예측 MSD를 생성했습니다. 나는 스스로에게 이런 질문을 던졌다. 과거에 잘 맞는 입구가 미래에 대한 예측 가능한 능력이 있어야 하는 이유는 무엇인가? 알려진 데이터에 대한 가장 작은 회귀 오류를 기반으로 하기보다는 이전 예측 오류를 기반으로 모델 입력을 선택하는 것이 합리적입니다.

결국 내 모델은 다음과 같이 단계별로 설명할 수 있습니다.

  1. stlouisfed에서 경제 데이터 업로드(약 10,000개의 지표).
  2. Preobrazeum 데이터를 고정된 형태로 정규화합니다.
  3. RMS 방법(선형 회귀)으로 분석적으로 해결된 S&P 500 지수의 선형 모델을 선택합니다.
  4. 히스토리의 길이(1960 - Q2 2015)를 선택하고 훈련 세그먼트(1960 - Q4 1999)와 테스트 세그먼트(Q1 2000 - Q2 2015)로 나눕니다.
  5. 1960 + N + 1부터 예측을 시작합니다. 여기서 N*4는 알려진 분기별 S&P 500 값의 초기 수입니다.
  6. 첫 번째 N 데이터에서 선형 모델은 각 경제 지표에 대해 y_mod = a + b*x로 작성됩니다. 여기서 y_mod는 S&P 500 모델이고 x는 경제 지표 중 하나입니다.
  7. 각 모델에 대해 N + 1 bar를 예측합니다.
  8. 각 모델별로 N + 1개 막대의 예측 오차를 계산합니다. 우리는 이러한 실수를 기억합니다.
  9. 알려진 S&P 500 값의 수를 1만큼 늘립니다. N + 1을 입력하고 훈련 세그먼트의 끝에 도달할 때까지 6-9단계를 반복합니다(Q4 1999). 이 단계에서 우리는 각 경제 지표에 대해 1960년 + N +1에서 1999년 4분기까지의 예측 오차를 저장했습니다.
  10. 두 번째 역사 기간(2000년 1분기 - 2015년 2분기)에 모델 테스트를 시작합니다.
  11. 10,000개의 입력 각각에 대해 1960~1999년 4분기 예측의 표준 오차를 계산합니다.
  12. 10,000개의 입력 중에서 1960~1999년 4사분기 동안 RMS 예측이 가장 낮은 것을 선택합니다.
  13. 1960~1999년 4분기에 대한 각 경제 지표에 대해 선형 모델 y_mod = a + b*x를 구축합니다.
  14. 우리는 각 모델별로 2000년 1분기를 예측합니다.
  15. 이전 시간 간격(1960 - Q4 1999)에 대한 예측의 RMS가 가장 낮은 선택된 입력의 예측이 2000년 Q1의 주요 예측으로 선택됩니다.
  16. 2000년 1분기에 대한 모든 입력의 예측 오차를 계산하고 이전 기간(1960~1999년 4분기)에 대한 동일한 입력의 RMS에 추가합니다.
  17. 2000년 2분기로 이동하여 예측의 주요 목표인 S&P 500에 대해 알 수 없는 값으로 테스트 영역(2015년 2분기)이 끝날 때까지 12-17단계를 반복합니다.
  18. 2000년 1분기 - 2014년 4분기에 대한 예측 오류를 이전 세그먼트에서 예측의 표준 편차가 가장 낮은 입력으로 누적합니다. 이 오류(err2)는 샘플 외 예측 오류 모델입니다.

요컨대, 예측 변수의 선택은 이전 S&P 500 예측의 RMS에 따라 달라집니다. 예측자는 시간이 지남에 따라 변경될 수 있지만 테스트 세그먼트가 끝나면 기본적으로 변경을 멈춥니다. 내 모델은 2015년 2분기를 예측하기 위한 첫 번째 입력으로 2/4 지연이 있는 PPICRM을 선택했습니다. 1960 - Q4 2014에 대해 선택한 PPICRM(2) 입력을 사용한 S&P 500의 선형 회귀가 아래에 나와 있습니다. 검은색 원 - 선형 회귀. 다양한 색상의 원 - 1960년 - 2014년 4분기의 과거 데이터. 원의 색상은 시간을 나타냅니다.


고정 S&P 500 예측(빨간색 선):

원시 형태의 S&P 500 예측(빨간색 선):

그래프는 모델이 2015년 2분기 S&P 500의 성장률을 예측함을 보여줍니다. 두 번째 입력을 추가하면 예측 오류가 증가합니다.

1 err1=0.900298 err2=0.938355 PPICRM(2)

2 err1=0.881910 err2=0.978233 PERMIT1 (4)

여기서 err1은 회귀 오류입니다. 두 번째 입력이 추가되면서 감소하는 것이 분명합니다. err2는 제곱 평균 제곱근 예측 오차를 랜덤 예측 오차로 나눈 값입니다. 즉, err2>=1은 내 모델의 예측이 무작위 예측보다 좋지 않음을 의미합니다. err2<1은 내 모델의 예측이 무작위 예측보다 낫다는 것을 의미합니다.

PPICRM = 생산자 물가 지수: 추가 처리를 위한 원유

PERMIT1 = 건축 허가에 의해 승인된 신규 민간 주택 유닛 - 1 유닛이 있는 구조

위에서 설명한 모델은 이런 식으로 다시 표현될 수 있습니다. 우리는 10,000명의 경제학자를 모아 그들에게 앞으로 분기의 시장을 예측하도록 요청합니다. 각 경제학자는 자신의 예측을 내립니다. 그러나 그들이 집필한 교과서의 수나 과거에 수상한 노벨상 수를 기반으로 예측을 선택하는 대신 예측을 수집하기 위해 몇 년을 기다립니다. 상당한 수의 예측 후에 우리는 어떤 경제학자가 더 정확한지 확인하고 다른 경제학자가 그의 정확도를 능가할 때까지 그의 예측을 믿기 시작합니다.

분석은 인상적이지만 한 가지 질문이 남아 있습니다. 한 번에 500(!!!)의 상호 영향을 미치는 비율을 예측하는 것이 1보다 다소 어렵다고 생각한 적이 있습니까? 정말, S&P500을 선택한 이유는 무엇입니까? 글쎄, 500개의 독립적이고 예측하기 어려운 회사들이 그것을 형성합니다. 기본 논리에 따르면 한 발급자에서 이 접근 방식을 테스트하는 것이 바람직하며, 최종 결과에 대한 신뢰도가 약 ... 500배 증가합니다. :)
 
Реter Konow :
분석은 인상적이지만 한 가지 질문이 남아 있습니다. 한 번에 500(!!!)의 상호 영향을 미치는 비율을 예측하는 것이 1보다 다소 어렵다고 생각한 적이 있습니까? 정말, S&P500을 선택한 이유는 무엇입니까? 글쎄, 500개의 독립적이고 예측하기 어려운 회사들이 그것을 형성합니다. 기본 논리에 따르면 한 발급자에서 이 접근 방식을 테스트하는 것이 바람직하며 최종 결과에 대한 신뢰도가 약 ... 500배 증가합니다. :)
옳지 않다. 주제는 ' 거시경제지표 를 기반으로 한 시장예측'이지만 이 분석의 지표는 의미가 없다. 세상과의 모든 외부 의미론적 논리적 연결과 함께 수학적 이인화 및 비식별화 후에 특정 공식으로 대체되는 변수일 뿐입니다. 추상적인 숫자 시리즈로 수집된 건조 숫자는 그것들로부터 예측하는 신경망의 모델 역할을 합니다... 아니요, 시장이 아니라 동일한 숫자 시리즈입니다.

이런 관점에서 보면 지수에 몇 요율이 들어가든 상관없고 회사가 어떤 정책을 가지고 있든 상관없지만 모든 변수와 값을 공식에 대입하는 것이 필요하다. 그래서 그렇습니다.

그래서 맞습니다. 사실은 기본이 아닌 기술적 분석이기 때문에 주제만 다르게 불러야 합니다.
 
Реter Konow :
옳지 않다. 주제는 ' 거시경제지표 를 기반으로 한 시장예측'이지만 이 분석의 지표는 의미가 없다. 세상과의 모든 외부 의미론적 논리적 연결과 함께 수학적 이인화 및 비식별화 후에 특정 공식으로 대체되는 변수일 뿐입니다. 추상적인 숫자 시리즈로 수집된 건조 숫자는 그것들로부터 예측하는 신경망의 모델 역할을 합니다... 아니요, 시장이 아니라 동일한 숫자 시리즈입니다.

이런 관점에서 보면 지수에 몇 요율이 들어가든 상관없고 회사가 어떤 정책을 가지고 있든 상관없지만 모든 변수와 값을 공식에 대입하는 것이 필요하다. 그래서 그렇습니다.

그래서 맞습니다. 사실은 기본이 아닌 기술적 분석이기 때문에 주제만 다르게 불러야 합니다.

펀더멘털 데이터에 대한 기술적 분석이 나옵니다.

근본적인 분석으로 모든 것이 그렇게 간단하지는 않습니다. 경제 지표에서 다루지 않는 가격에 영향을 미치는 많은 요인이 있습니다. 선거, 똑같은 브렉시트, 온갖 소문 등등. 모든 경제 지표보다 가격에 더 큰 영향을 미칠 수 있습니다.

 
주제를 벗어.
오랫동안 포럼에서 수많은 트레이더의 "의식의 흐름"을 읽으면서 제기된 질문은 다음과 같습니다.

1. 왜 사람들은 연구의 대상을 쉽고 빠르게 잊어버리고 "수열", 계수 등으로 길을 잃고 원점으로 돌아가지 않고 빽빽한 수학 정글에서 영원히 방황합니까?

2. 그들의 동기는 무엇입니까? 그냥 돈인가요?

첫 번째 질문에는 아직 답이 없지만 두 번째 질문에는 ... 무언가가 있습니다.

그들의 모든 수학적 검색은 모든 측면에서 수집되고 정렬되고 예측 가능한 일종의 환상 공식 테이블 "낙원"으로 이어집니다. 이것이 똑똑한 사람들이 Grail 을 나타내는 방법입니다.

이 주제의 첫 번째 게시물은 이 모호한 방향의 첫 번째 단계와 두 번째 단계를 보여주지 않습니다...
 
Uladzimir Izerski :

펀더멘털 데이터에 대한 기술적 분석이 나옵니다.

근본적인 분석으로 모든 것이 그렇게 간단하지는 않습니다. 경제 지표에서 다루지 않는 가격에 영향을 미치는 많은 요인이 있습니다. 선거, 똑같은 브렉시트, 온갖 소문 등등. 모든 경제 지표보다 가격에 더 큰 영향을 미칠 수 있습니다.

네, 맞습니다.
 

Peter에게: 저는 S&P500을 직접 예측하지 않습니다. 이 작업의 목적은 경기 침체가 발생하기 전에 시장을 빠져나가기 위해 경기 침체를 예측하고 매수 및 보유 전략의 수익성을 개선하는 것입니다. S&P500에는 500개의 주식이 포함되어 있지만 구성종목이 아니라 지수 자체(또는 옵션)를 사고파는 기관 투자자가 주도합니다. 1년에 13%는 적은 금액으로 들리지 않지만 회전율이 중요한 큰 돈에는 충분합니다. Bernie Madoff는 고객에게 연간 10%의 적당한 약속을 함으로써 그의 고객을 매료시켰지만 달성할 수 없었습니다.

Uladzimir에게: 가격 변동은 다양한 사회 정치적 사건, 선거, 브렉시트, 감염 등에 달려 있다는 데 동의합니다. 결국 모든 것은 생산/서비스 제품의 수요와 공급, 실업 및 기타 경제 지표에 달려 있습니다. . 나는 시장 가격의 매일 변동에 신경 쓰지 않습니다. 단순한 매수&보유 전략으로도 연간 7.4%의 수익을 올릴 수 있습니다. 경기 침체기에 롱 포지션을 피하고 이 전략의 수익성을 높이는 것이 중요합니다. 그건 그렇고, 또 다른 전략은 부동산을 사는 것입니다. 미국에서는 연간 5%만 제공합니다.

 
Реter Konow :
옳지 않다. 주제는 ' 거시경제지표 를 기반으로 한 시장예측'이지만 이 분석의 지표는 의미가 없다. 세상과의 모든 외부 의미론적 논리적 연결과 함께 수학적 이인화 및 비식별화 후에 특정 공식으로 대체되는 변수일 뿐입니다. 추상적인 숫자 시리즈로 수집된 건조 숫자는 그것들로부터 예측하는 신경망의 모델 역할을 합니다... 아니요, 시장이 아니라 동일한 숫자 시리즈입니다.

이런 관점에서 보면 지수에 몇 요율이 들어가든 상관없고 회사가 어떤 정책을 가지고 있든 상관없지만 모든 변수와 값을 공식에 대입하는 것이 필요하다. 그래서 그렇습니다.

그래서 맞습니다. 사실은 기본이 아닌 기술적 분석이기 때문에 주제만 다르게 불러야 합니다.

그렇다면 S&P500의 전망은 어떻습니까?

 
Vladimir :

미안하지만 이 모든 것이 연간 5-13%를 위해서??? 게임은 촛불 가치가 없습니다)

사유: