2017-11-08 14 views
0

빠르고 쉽게 답변드립니다. 제가 주식에 약간의 돈을 투자하고 5 가지를 얻고 싶다고합시다.이 5 가지를 모두 총 자본의 20 %로 똑같이 투자하고 싶습니다.주식 및 원하는 포트폴리오 가중치를 구입할 때 가장 적은 차이를 해결하십시오.

물론 각 주가는 다른 비용을 가지고 있기 때문에 각 주식에 정확히 20 %를 줄 수있는 주식 조합을 구입할 수는 없을 것입니다.

그래서 문제는 비선형 문제를 해결하기위한 빠른 방법이나 함수가 있기 때문에 주식 가격을 입력 한 다음 원하는 가중치를 입력하고 가장 적은 총 차이에 대한 해답을 얻을 수 있습니다. ?

환호성에 도움이됩니다!

답변

0

MIP (혼합 정수 프로그래밍) 솔버를 사용할 수 있습니다. 절대 값은 선형화 할 수

min sum(i, abs(target(i) - price(i)*purchase(i))) 
subject to 
    sum(i, price(i)*purchase(i)) <= budget 
purchase(i): integer variable 

:이 문제는 다음과 같이 공식화 할 수

min sum(i, (target(i) - price(i)*purchase(i))^2) 
subject to 
    sum(i, price(i)*purchase(i)) <= budget 
purchase(i): integer variable 

이것은 MIQP 해결사를 필요로 :

min sum(i,z(i)) 
-z(i) <= target(i) - price(i)*purchase(i) <= z(i) 

은 또한 당신이 차 목표를 사용할 수 있습니다.