Commit 1ed27984 authored by Dr.李's avatar Dr.李

fixed linear build benchmark typo

parent 0dce4df3
......@@ -15,14 +15,14 @@ from alphamind.portfolio.linearbuilder import linear_build
solvers.options['show_progress'] = False
def benchmark_build_linear(n_samples: int, n_risks: int, n_inds, n_loop: int) -> None:
def benchmark_build_linear(n_samples: int, n_risks: int, n_loop: int) -> None:
print("-" * 60)
print("Starting portfolio construction by linear programming")
print("Parameters(n_samples: {0}, n_risks: {1}, n_inds: {2})".format(n_samples, n_risks, n_inds))
print("Parameters(n_samples: {0}, n_risks: {1}, n_loop: {2})".format(n_samples, n_risks, n_loop))
er = np.random.randn(n_samples)
risk_exp = np.random.randn(n_samples, n_risks)
bm = np.random.randint(n_inds, size=n_samples).astype(float)
bm = np.random.rand(n_samples)
bm /= bm.sum()
lbound = -0.04
......@@ -62,4 +62,4 @@ def benchmark_build_linear(n_samples: int, n_risks: int, n_inds, n_loop: int) ->
if __name__ == '__main__':
benchmark_build_linear(1000, 30, 30, 1)
\ No newline at end of file
benchmark_build_linear(500, 30, 10)
\ No newline at end of file
......@@ -6,6 +6,7 @@ Created on 2017-5-5
"""
import numpy as np
from typing import Tuple
import cvxpy
from cvxopt import solvers
......@@ -13,7 +14,13 @@ from cvxopt import solvers
solvers.options['glpk'] = {'msg_lev': 'GLP_MSG_OFF'}
def linear_build(er, lbound, ubound, risk_exposure, bm, risk_target=None, solver=None):
def linear_build(er: np.np.ndarray,
lbound: np.ndarray,
ubound: np.ndarray,
risk_exposure: np.ndarray,
bm: np.ndarray,
risk_target: np.ndarray=None,
solver: str=None) -> Tuple[str, np.ndarray, np.ndarray]:
n, m = risk_exposure.shape
w = cvxpy.Variable(n)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment