더북(TheBook)
# 자산에 대한 투자자의 전망과 전망의 기대수익률을 행렬로 만든다
def CreateMatrixPQ( names, views ):
    r, c = len( views ), len( names )

# 투자 전망과 기대수익률 행렬
# 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' --> name1
# views[ i ][ 1 ] <-- '>'
# views[ i ][ 2 ] <-- 'GE' --> 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


신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.