Files
playbook/skills/tsl-api-reference/references/codegen/dotnet/financial/financial_engineering-portfolio-common.md
T

7.3 KiB

金融 / 金融工程 / 投资组合 / Common

adjustSampleByAny(bk_name, beg_t, money, eval_exp, sort_dir, range_type, range_beg, range_end, percent_type, condition)

声明:function

计算满足条件Condition的股票的EvalExp,选取值在RangeBeg跟RangeEnd之间,按照不同的RangeType类型选择股票,并分配资金

参数 类型 说明
bk_name striong 字符串,板块名称
beg_t t_date_time 日期型时间,开始时间
money real 实数,初始资金
eval_exp expression 表达式
sort_dir boolean 真假,排序方向
range_type integer 整数,范围类型
range_beg real 实数,范围上限
range_end real 实数,范围下限
percent_type integer 整数,资金分配方法,用户自定义,含义如下表: 显示名 值 流通股 0 总股本 1 等资金 2
condition expression 表达式,条件选择

返回:table_array

示例

范例01:调用 AdjustSampleByAny

Return AdjustSampleByAny(

    "深证A股",

    inttodate(20120916),

    500,

    @close(),

    false,

    0,

    7,

    9,

    0,

    @true);

getTrueRp()

声明:function

计算资产组合的期望收益率,与自定义的系统变量'TZZHRiMatrix'有关,调用之前先设置该系统变量。并且w的长度必须跟该系统变量的值的长度一致

返回:table_array

示例

范例01:调用 GetTrueRp

a := array(2, 3, 4, 5, 8);

SetSysParam('TZZHRiMatrix', a);

w := array(1, 4, 6, 3, 7);

Return GetTrueRp(w);
// 输出:5.19048

pf_callBack1(w, r)

声明:function

计算投资组合的约束1:所有投资组合的比例和,公式为1

参数 类型 说明
w array 一维数字数组
r float 实数

返回:integer

示例

范例01:调用 pf_CallBack1

Return pf_CallBack1(Array(3, 4, 5), 2);
// 输出:0.3872

pf_incomeMaxCallBack(w, r)

声明:function

返回投资组合收益最大回调

参数 类型 说明
w array 一维数字数组,投资品种的比例(%)
r float 实数,使用SUMT时候,使用的罚因子

返回:float

示例

范例01:调用 pf_IncomeMaxCallBack

a := array(2, 3, 4, 5, 8);

SetSysParam('TZZHRiMatrix', a);

setSysParam('TZZHRp', 3);

w := array(1, 4, 6, 3, 7);

Return pf_IncomeMaxCallBack(w, 2);
// 输出:-4.87843

pf_outPut(x, beg_time, end_time)

声明:function

返回投资组合结果输出

参数 类型 说明
x array,table_array 投资品种的比例(%)
beg_time datetime 开始时间
end_time datetime 截止时间

返回:float

pf_riskMinCallBack(w, r)

声明:function

返回风险最小回调,兼顾风险和收益的投资组合回调,与'TZZHMethodType'该自定义的系统变量有关,计算组合方差的方法,如果为0 则为马可维兹法,此时与'MarkowitzCoMatrix'自定义的系统变量有关,1表示单指数法,此时与'SIMVarRm'自定义的系统变量有关,回调过程中是否卖空与'TZZHYxmk'有关,该函数用于投资组合中间计算风险

参数 类型 说明
w array 一维字符串数组
r float 实数

返回:table_array

portfolioByAny(stock_arr, end_t, eval_exp, sort_dir, range_type, range_beg, range_end, condition)

声明:function

计算满足条件Condition的股票的EvalExp,选取值在RangeBeg跟RangeEnd之间,按照不同的RangeType类型选择

参数 类型 说明
stock_arr table_array 数据表,股票列表,必须含有’代码’,’股数’
end_t t_date_time 日期型时间,当前时间
eval_exp expression 表达式
sort_dir boolean 真假,排序方向
range_type integer 整数,范围类型
range_beg real 实数,范围上限
range_end real 实数,范围下限
condition expression 表达式,条件选择

返回:table_array

示例

范例01:调用函数

return portfolioByAny(
    array("SH600718", "SZ000920"),
    intToDate(20120916),
    @open(),
    1, 0, 7, 8, @true);

stocksPortfolio(stock_arr, beg_t, end_t, methodtype, predict_yield, max_risk, show_hist_yield, call_back)

声明:function

返回股票投资组合计算及结果输出

参数 类型 说明
stock_arr array 一维字符串数组,股票列表
beg_t t_date_time 日期型时间,开始日期
end_t t_date_time 日期型时间,结束日期
methodtype intger 用户自定义,投资组合方法
predict_yield real 实数,预期收益率
max_risk real 实数,风险限定
show_hist_yield boolean 布尔类型,显示历史收益率
call_back string 字符串,回调函数

返回:table_array

示例

范例01:调用函数

return stocksPortfolio(
    array('SH600001', 'SH600000'),
    intToDate(20120721),
    intToDate(20121002),
    0,
    0,
    0,
    true,
"");