위에서 사용한 CreateMatrixPQ() 함수는 다음과 같다.

    # 자산에 대한 투자자의 전망과 전망의 기대수익률을 행렬로 만든다
    def CreateMatrixPQ( names, views ):
        r, c = len( views ), len( names )
    
    # 투자 전망과 기대수익률 행렬v# views[i][3]은 기대수익률을 가리킴
        Q = [ views[ i ][ 3 ] for i in range( r ) ]
    
    # 전망 행렬 P를 만들기 위해
    # 구성 자산 딕셔너리 작성
        nameToIndex = dict( )
        for i, n in enumerate( names ):
            nameToIndex[ n ] = i
    
    # 투자 전망
        P = np.zeros( [ r, c ] )
        for i, v in enumerate( views ):
    
    # 가령 전망이 ( 'MSFT', '>', 'GE', 0.02 )라면
    # views[ i ][ 0 ] <-- 'MSFT' --> 종목1(name1)
    # views[ i ][ 1 ] <-- '>'    --> 비교 연산자 자리
    # views[ i ][ 2 ] <-- 'GE'   --> 종목2(name2)
    # views[ i ][ 3 ] <-- '0.02'
            name1, name2 = views[ i ][ 0 ], views[ i ][ 2 ]
            P[ i, nameToIndex[ name1 ] ] = +1 if views[ i ][ 1 ] == '>' else -1
            P[ i, nameToIndex[ name2 ] ] = -1 if views[ i ][ 1 ] == '>' else +1
        return np.array(Q), P
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.