将值传递给 UDF 时 xlwings 计算不正确

xlwings calculation incorrect when passing value to UDF

我正在通过 TIA 从 Bloomberg 提取数据到 python 以计算 beta。当我 运行 Python 编译器中的代码时,我得到了正确的计算。当我将 cusip 硬编码到 Python 代码中时,我也得到了正确的计算。但是,当我将 cusip 通过 excel 传递到 python 时,我得到了一个不正确的值。该值似乎与所做的任何计算都没有关联。除了 @xw.func 标识符之外,是否需要提供包装器才能将数据从 Excel 正确传递到 Python?对于那些不知道 cusip 需要为 TIA 看起来像这样的人,'/cusip/abcde123@BGN' 其中 abcde123 是代表 cusip 的 8 个字符,BGN 是定价位置。

我发现当通过 excel 传递 cusip 时,我在单元格中留下了单引号,例如我传递了 '/cusip/...@BGN' 而不是 /cusip/... @BGN。不知道为什么这会如此剧烈地改变值,但现在一切都在正确计算