skfolio.optimization.目标函数#

class skfolio.optimization.ObjectiveFunction(value)[来源]#

目标函数的枚举。

Attributes:
MINIMIZE_RISKstr

最小化风险度量。

MAXIMIZE_RETURNstr

最大化预期回报。

MAXIMIZE_UTILITYstr

最大化效用 \(w^T\mu - \lambda \times risk(w)\).

MAXIMIZE_RATIOstr

最大化比率 \(\frac{w^T\mu - R_{f}}{risk(w)}\).

capitalize(/)#

返回字符串的大写版本。

更具体地说,将第一个字符设置为大写,其余字符设置为小写。

casefold(/)#

返回一个适合无区分大小写比较的字符串版本。

center(width, fillchar=' ', /)#

返回一个长度为width的居中字符串。

填充是使用指定的填充字符进行的(默认是空格)。

count(sub[, start[, end]]) int#

返回子串 sub 在字符串 S[start:end] 中不重叠出现的次数。可选参数 start 和 end 的解释与切片表示法相同。

encode(/, encoding='utf-8', errors='strict')#

使用注册的编码编解码器对字符串进行编码。

encoding

用于对字符串进行编码的编码方式。

errors

用于编码错误的错误处理方案。默认值为“严格”,这意味着编码错误会引发UnicodeEncodeError。其他可能的值包括“忽略”、“替换”和“xmlcharrefreplace”,以及任何其他可以处理UnicodeEncodeErrors的在codecs.register_error中注册的名称。

endswith(suffix[, start[, end]]) bool#

如果 S 以指定的后缀结尾,则返回 True,否则返回 False。可选的 start 参数,从该位置开始测试 S。可选的 end 参数,在该位置停止比较 S。后缀也可以是一个要尝试的字符串元组。

expandtabs(/, tabsize=8)#

返回一个副本,其中所有制表符使用空格展开。

如果没有给定选项卡大小,则假定选项卡大小为8个字符。

find(sub[, start[, end]]) int#

返回在 S 中找到子字符串 sub 的最低索引, 使得 sub 包含在 S[start:end] 中。可选参数 start 和 end 的解释与切片表示法相同。

失败时返回 -1。

format(*args, **kwargs) str#

返回S的格式化版本,使用来自args和kwargs的替换。替换由花括号(‘{’和‘}’)标识。

format_map(mapping) str#

返回一个格式化的版本S,使用映射中的替换。 替换通过大括号(‘{’和‘}’)来识别。

classmethod has(value)#

检查值是否在枚举中。

Parameters:
valuestr

输入值。

Returns:
xbool

如果值在枚举中返回真,否则返回假。

index(sub[, start[, end]]) int#

返回在 S 中找到子字符串 sub 的最低索引, 使得 sub 包含在 S[start:end] 中。可选参数 start 和 end 的解释与切片表示法相同。

当未找到子串时引发ValueError。

isalnum(/)#

如果字符串是一个字母数字字符串,则返回True,否则返回False。

如果字符串中的所有字符都是字母数字字符,并且字符串中至少有一个字符,则该字符串是字母数字的。

isalpha(/)#

如果字符串是字母字符串则返回 True,否则返回 False。

如果字符串中的所有字符都是字母,并且字符串中至少有一个字符,则该字符串是字母字符串。

isascii(/)#

如果字符串中的所有字符都是ASCII,则返回True,否则返回False。

ASCII字符的编码点范围是U+0000-U+007F。空字符串也是ASCII。

isdecimal(/)#

如果字符串是小数字符串则返回 True,否则返回 False。

如果字符串中的所有字符都是十进制字符,并且字符串中至少有一个字符,则该字符串是十进制字符串。

isdigit(/)#

如果字符串是数字字符串则返回 True,否则返回 False。

如果字符串中的所有字符都是数字,并且字符串中至少有一个字符,则该字符串是一个数字字符串。

isidentifier(/)#

如果字符串是有效的Python标识符,则返回True;否则返回False。

调用 keyword.iskeyword(s) 来测试字符串 s 是否是一个保留标识符,例如“def”或“class”。

islower(/)#

如果字符串是小写字符串,则返回True,其他情况返回False。

如果字符串中的所有有大小写的字符都是小写字母,并且字符串中至少有一个有大小写的字符,则该字符串是小写的。

isnumeric(/)#

如果字符串是一个数字字符串,则返回 True,否则返回 False。

如果字符串中的所有字符都是数字,并且字符串中至少有一个字符,则该字符串是数字的。

isprintable(/)#

如果字符串可打印,则返回True,否则返回False。

如果一个字符串的所有字符在 repr() 中被视为可打印字符,或者它是空的,那么该字符串是可打印的。

isspace(/)#

如果字符串是空白字符串,则返回 True;否则返回 False。

如果字符串中的所有字符都是空白字符,并且字符串中至少有一个字符,则该字符串是空白字符串。

istitle(/)#

如果字符串是标题格式的字符串,则返回 True;否则返回 False。

在标题格式的字符串中,大写和标题格式的字符只能跟在无大小写字符后面,而小写字符只能跟在有大小写的字符后面。

isupper(/)#

如果字符串是大写字符串,则返回 True,否则返回 False。

如果字符串中的所有字符都是大写字母,并且字符串中至少有一个字母字符,则该字符串为大写。

join(iterable, /)#

连接任意数量的字符串。

调用其方法的字符串被插入在每个给定字符串之间。 结果作为一个新字符串返回。

示例:‘.’.join([‘ab’, ‘pq’, ‘rs’]) -> ‘ab.pq.rs’

ljust(width, fillchar=' ', /)#

返回一个左对齐的字符串,长度为宽度。

填充是使用指定的填充字符进行的(默认是空格)。

lower(/)#

返回转换为小写的字符串副本。

lstrip(chars=None, /)#

返回一个去除前导空格的字符串副本。

如果给定了chars且不为None,则移除chars中的字符。

static maketrans(x, y=<unrepresentable>, z=<unrepresentable>, /)#

返回一个可用于 str.translate() 的翻译表。

如果只有一个参数,它必须是一个字典,将Unicode序数(整数)或字符映射到Unicode序数、字符串或None。字符键将被转换为序数。如果有两个参数,它们必须是相同长度的字符串,在生成的字典中,x中的每个字符将映射到y中相同位置的字符。如果有第三个参数,它必须是一个字符串,其字符将在结果中映射为None。

partition(sep, /)#

使用给定的分隔符将字符串分成三部分。

这将在字符串中搜索分隔符。如果找到分隔符,将返回一个包含分隔符之前部分、分隔符本身和分隔符之后部分的三元组。

如果未找到分隔符,返回一个包含原始字符串和两个空字符串的三元组。

removeprefix(prefix, /)#

如果存在,则返回去掉给定前缀字符串的 str。

如果字符串以前缀字符串开头,返回string[len(prefix):]。否则,返回原始字符串的副本。

removesuffix(suffix, /)#

如果存在,则返回去掉给定后缀字符串的str。

如果字符串以后缀字符串结尾并且该后缀不为空,返回字符串[:-len(suffix)]。否则,返回原始字符串的副本。

replace(old, new, count=-1, /)#

返回一个副本,所有子字符串 old 被新字符串替换。

count

要替换的最大出现次数。-1(默认值)表示替换所有出现次数。

如果提供了可选参数 count,则仅替换前 count 次出现。

rfind(sub[, start[, end]]) int#

返回在 S 中找到子字符串 sub 的最高索引,条件是 sub 包含在 S[start:end] 中。可选参数 start 和 end 的解释方式与切片表示法相同。

失败时返回 -1。

rindex(sub[, start[, end]]) int#

返回在 S 中找到子字符串 sub 的最高索引,条件是 sub 包含在 S[start:end] 中。可选参数 start 和 end 的解释方式与切片表示法相同。

当未找到子串时引发ValueError。

rjust(width, fillchar=' ', /)#

返回一个右对齐的宽度为length的字符串。

填充是使用指定的填充字符进行的(默认是空格)。

rpartition(sep, /)#

使用给定的分隔符将字符串分成三部分。

这将在字符串中搜索分隔符,从字符串的末尾开始。如果找到分隔符,返回一个包含分隔符前部分、分隔符本身及其后部分的三元组。

如果未找到分隔符,则返回一个包含两个空字符串和原始字符串的3元组。

rsplit(/, sep=None, maxsplit=-1)#

返回字符串中的子字符串列表,使用 sep 作为分隔符。

sep

用于分割字符串的分隔符。

当设置为 None(默认值)时,将在任何空白字符(包括 \n \r \t \f 和空格)上进行分割,并将结果中的空字符串丢弃。

maxsplit

最大分割数(从左侧开始)。-1(默认值)表示无限制。

分割从字符串的末尾开始,向前进行。

rstrip(chars=None, /)#

返回一个去除尾部空白字符的字符串副本。

如果给定了chars且不为None,则移除chars中的字符。

split(/, sep=None, maxsplit=-1)#

返回字符串中的子字符串列表,使用 sep 作为分隔符。

sep

用于分割字符串的分隔符。

当设置为 None(默认值)时,将在任何空白字符(包括 \n \r \t \f 和空格)上进行分割,并将结果中的空字符串丢弃。

maxsplit

最大分割数(从左侧开始)。-1(默认值)表示无限制。

请注意,str.split()主要用于那些已经故意分隔的数据。对于包含标点符号的自然文本,请考虑使用正则表达式模块。

splitlines(/, keepends=False)#

返回字符串中按行边界断开的行的列表。

除非给定keepends并且值为true,否则结果列表中不包含换行符。

startswith(prefix[, start[, end]]) bool#

如果 S 以指定的前缀开头,则返回 True,否则返回 False。使用可选的 start,从该位置开始测试 S。使用可选的 end,在该位置停止比较 S。prefix 还可以是一个字符串元组进行尝试。

strip(chars=None, /)#

返回一个去除前导和尾随空白的字符串副本。

如果给定了chars且不为None,则移除chars中的字符。

swapcase(/)#

将大写字符转换为小写,和小写字符转换为大写。

title(/)#

返回一个字符串的版本,其中每个单词都被首字母大写。

更具体地说,单词以大写字母开头,所有其余的字母均为小写。

translate(table, /)#

使用给定的翻译表替换字符串中的每个字符。

table

翻译表,必须是 Unicode 序数映射到 Unicode 序数、字符串或 None。

该表必须通过 __getitem__ 实现查找/索引,例如字典或列表。如果此操作引发 LookupError,则字符保持不变。映射到 None 的字符将被删除。

upper(/)#

返回一个转换为大写的字符串副本。

zfill(width, /)#

在左侧用零填充数字字符串,以填充给定宽度的字段。

字符串永远不会被截断。