다음 해결할 문제가 있습니다.포트폴리오 최적화 효율적인 솔루션 정렬 C#
H를 포트폴리오 집합이라고합시다. 각 포트폴리오에 대해 i
의 H
은 (ri,vi)
을이 솔루션의 (return,risk)
값으로 지정하십시오. H
각 i
들어
H
j
에 존재하는 경우와 rj>=ri
vj<=vi
다음 H
i
로부터 삭제되도록 (j
i
는 다르다). i
은 j
이 (더 적은 위험에 대해 더 나은 수익을 가져다줍니다.)
마지막으로 H
은 undominated 효율적인 솔루션 세트입니다.
H.RemoveAll(x => H.Any(y => x.CalculateReturn() <= y.CalculateReturn() && x.CalculateRisk() >= y.CalculateRisk() && x != y));
그러나 더 효율적인 방법이 존재하는 경우 H.Count()
10 개 수천의 순서 인 경우, 다음이 시간이 많이 걸리기 때문에 나는 궁금 지배적 인 포트폴리오를 제거합니다.
미리 도움을 청하십시오!
Christos
나는 j와 vi 사이 어딘가에있다. 문제를 나타내는 약어없이 코드를 게시 할 수 있습니까? –
H는 포트폴리오 클래스 목록입니다. 각 포트폴리오는 자산이 [0,1]의 숫자 인 가중치 w를 갖는 자산으로 구성됩니다. 모든 가중치는 1로 합계됩니다. 포트폴리오 클래스의 두 가지 방법을 사용하여 위험을 예상하고 수익을 산출 할 수 있습니다. 따라서 각 포트폴리오에는 한 쌍의 (수익, 위험) 쌍이 있습니다. 내가 해결하고자하는 문제는 지배력이없는 포트폴리오 목록의 모든 포트폴리오를 찾는 것입니다. 지배적 인 포트폴리오의 개념을 이해하려면 위의 약어를 소개해야합니다. – Christos
위의 내용에 대한 추가 설명이 필요한 경우 알려 주시기 바랍니다. 다시 감사합니다. Milen. – Christos