def test_mulfix(): tot = xa.mulfix(status=statb, totmoney=5000) tot.v_positions() tot.v_positions_history("2017-01-01") assert round(tot.combsummary("2018-08-04").iloc[0]["投资收益率"], 1) == 1.0 eva = tot.evaluation() assert round(eva.correlation_table(end="2018-07-30").iloc[2, 4], 3) == 0.095
def test_mul(): with pytest.raises(Exception) as excinfo: cm_m = xa.mulfix(cm_t, totmoney=200) assert str(excinfo.value) == "You cannot sell first when you never buy" with pytest.raises(Exception) as excinfo: cm_m = xa.mulfix(cm_t, totmoney=300) assert str(excinfo.value) == "the initial total cash is too low" cm_m = xa.mulfix(cm_t, totmoney=500) cm_m.bcmkset(xa.indexinfo("1399971"), start="2016-09-28") assert round(cm_m.xirrrate("2018-07-29"), 3) == -0.129 assert round(cm_m.sharpe("2018-07-30"), 3) == -1.734 cm_m.v_netvalue(benchmark=False) assert round(cm_m.total_return("2018-07-01"), 3) == -0.209 assert round(cm_m.benchmark_volatility("2018-07-22"), 3) == 0.192 assert round(cm_m.max_drawdown("2018-08-01")[2], 2) == -0.24 cm_m.v_tradevolume()
def test_mulfix(): tot = xa.mulfix(cm_t, status=statb, totmoney=5000) tot.v_positions() tot.v_positions_history("2017-01-01") assert round(tot.summary("2018-08-04").iloc[0]["投资收益率"], 1) == 1.0 assert round(tot.xirrrate(date="2020-01-01", startdate="2018-05-01"), 2) == 0.04 eva = tot.evaluation() assert round(eva.correlation_table(end="2018-07-30").iloc[0, 3], 3) == 0.095
def test_mulfix(): tot = xa.mulfix(status=statb, totmoney=5000) assert tot.v_positions().options['legend'][0]['data'][1] == '富国中证红利指数增强' assert tot.v_positions_history( '2017-01-01').options['legend'][0]['data'][-1] == '货币基金' assert round(tot.combsummary('2018-08-04').iloc[0]['投资收益率'], 1) == 1.0 eva = tot.evaluation() assert round(eva.correlation_table(end='2018-07-30').iloc[2, 4], 3) == 0.095
def test_policy_buyandhold(): allin = xa.policy.buyandhold(cm, "2015-06-01") cm_t2 = xa.trade(cm, allin.status) cm_m2 = xa.mulfix(cm_t2) cm_m2.bcmkset(xa.indexinfo("1399971")) assert round(cm_m2.correlation_coefficient("2018-07-01"), 3) == 0.980 assert round(cm_m2.information_ratio("2016-07-01"), 3) == -0.385 allin.sellout("2018-06-01") cm_t2 = xa.trade(cm, allin.status) assert round(cm_t2.xirrrate("2019-08-12", guess=-0.9), 2) == -0.33
def test_record_list(): tot = xa.mulfix(status=statl, totmoney=50000, **ioconf) assert round(tot.combsummary("2019-05-04").iloc[0]["投资收益率"], 1) == 10.6
def test_imulfix(): c = xa.mulfix(status=orc, istatus=ir, totmoney=100000, **ioconf) c.summary() c.v_category_positions("2020-04-08") c.get_stock_holdings() c.get_portfolio(date="20200501")