현재 일부 자산 (공유)에 대해 얻은 로그 반환에 대한 상대 빈도 플롯을 구성하려고합니다. 여기서 plt.yscale을 사용하여 y 축에 log10 배율을 사용했습니다 '로그'). 그러나, 나는 명확하게 다음과 같이 내가 파이썬에 건설 내 그래프의 특정 지점에서 무한대로 경향이 일부 수직 라인을 구하십시오상대 주파수 플롯을 수행 한 후 나타나는 수직선을 제거하려면 어떻게합니까? (파이썬 3.5)
이를 분명히 일어나지한다. 대신,이 그래프처럼 보일 것입니다 : 이것은 그 점에 수직 라인을 포함하지 않는 것을 제외하고, 광산 명확하게 유사하다
. 다음과 같이 내 코드는 다음과 같습니다
plt.figure(1)
plt.figure(figsize=(9,7))
hist1, bins1 = np.histogram(returns_assetA_daily_mat, bins=20)
hist2, bins2 = np.histogram(returns_assetA_weekly_mat, bins=20)
hist3, bins3 = np.histogram(returns_assetA_monthly_mat, bins=20)
hist1 = hist1/len(returns_assetA_daily_mat)
hist2 = hist2/len(returns_assetA_weekly_mat)
hist3 = hist3/len(returns_assetA_monthly_mat)
bins1 = 0.5 * (bins1[1:] + bins1[:-1])
bins2 = 0.5 * (bins2[1:] + bins2[:-1])
bins3 = 0.5 * (bins3[1:] + bins3[:-1])
plt.plot(bins1, hist1, bins2, hist2, bins3, hist3)
plt.yscale('log')
plt.xlabel('Log-Returns')
plt.ylabel('Relative Frequency')
plt.title('Original for Asset A')
plt.show()
그것은
returns_assetA_daily_mat, returns_assetA_weekly_mat, returns_assetA_monthly_mat
단순히 양수, 음수 값을 포함하는 자산의 일일, 주간 및 월간 로그 수익률의 값으로 배열을 행 것을 알고 매우 유용 값과 0도 마찬가지입니다. 아마도 y 축에서 log10 스케일을 수행하고 있기 때문에 음수 값 또는 0이 분명히 x가 0 인 경향이 있기 때문에 근본적인 문제의 원인이 될 수 있습니다. 어쩌면 내 코드 구조 내에 문제가 있습니까? 이 문제에 대한 해결책이 없다면 수직선을 포함하는 점을 음의 무한대로 분리하여 격리 된 점처럼 보이게 할 수있는 방법이 있습니까? 저는 파이썬 초보자로서 현재 Computational Finance에서 석사 학위의 일부로 그것을 배우고 있습니다. 그래서 어떤 종류의 도움도 매우 높이 평가 될 것입니다! 많은 감사드립니다!
너무 감사합니다! 그것은 매우 도움이되었고, 나는 확실히 그것이 효과가 있다고 말할 수있어서 기쁩니다! – Jayjay95
@ Jayjay95 아하, 아주 멋지다. 나에게 필요한 것이 있다면 나에게 알려줘. 기꺼이 수정 해줘. 그 밖의 것이 없다면이 문제에 대해 더 이상 도움이 필요 없다는 것을 지역 사회에 알리기 위해 내 대답을 수락하는 것을 고려해보십시오. 행운을 빕니다! – rayryeng
한 가지 더 질문합니다. 아마도 더 사소한 질문 일 것입니다. plt.plot() 함수 내에서 세 가지 다른 그래프를 입력 했으므로 세 가지 별도의 레이블을 추가하는 방법 (일별, 주별, 월별로 레이블의 이름이됩니다)) 그래프에 범례를 추가하려면? 현재 "일별"과 같은 레이블 이름을 추가하면이 이름이 월별 또는 일별 데이터에 속하는지 여부에 관계없이 세 가지 다른 플롯에 모두 할당됩니다. 다시 한 번 감사드립니다! :) – Jayjay95