from gs_quant.markets.position_set import Position, PositionSet
from gs_quant.session import Environment, GsSession
client = 'CLIENT ID'
secret = 'CLIENT SECRET'
GsSession.use(Environment.PROD, client_id=client, client_secret=secret, scopes=('read_product_data',))
position_set = PositionSet(positions=[Position(identifier='AAPL UW', weight=0.3), Position(identifier='MSFT UW', weight=0.3)])
If you have a weighted position set that does not add up to 1, you can call redistribute_weights
in order to
redistribute the remaining or additional weights proportionally among each position.
position_set.redistribute_weights()