一文读懂:如何制作股市实时跟踪器?

大家好, 我是Lucy@FinTech社区。

今天这篇文章将教你如何轻松制造一个股市实时跟踪器!

欢迎大家添加微信fintech34,或扫描底部微信,加入FinTech社区,提认知,攒人脉,求职招聘!

 

毫无疑问,在疫情期间,股市的波动率高于平时。为了更好地监控我们的股票投资组合,我们可以制造实时跟踪器当股票市场开盘时,灯会亮起,并且,它的颜色会反映开盘时市场的位置并在日间不断进行更新。这将是一个很有趣的小工具。

 

【要准备的物品】

 

首先我们自然需要一个智能实时跟踪器。以下是一些供参考的智能灯泡连接 (复制链接至浏览器查看):

Yeelight bulb

https://www.amazon.com/gp/product/B077GCYCT7/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

Light bulb globe

https://www.homedepot.com/p/Westinghouse-6-in-Handblown-Opal-Globe-with-3-1-4-in-Fitter-8150100/203066058

https://www.homedepot.com/p/Leviton-Plastic-Keyless-Lamp-Holder-R50-08829-CW4/100356849

 

如果你已经拥有一个跟踪器,我们就可以使用Python的Yeelight库对他的颜色进行更改。

 

【控制跟踪器的Python代码】

 

创建一个新的python项目。安装要用到的两个库:

pip install yeelight investpy

 

安装yeelight的app并配置在跟踪器上。在app中,打开“局域网控制”。在灯泡->设置(右上角图标)->设备信息上获取灯泡的IP地址。检查跟踪器是否正常工作。

from yeelight import Bulb, BulbException

BULB_IP = '192.168.X.XXX'

bulb = Bulb(BULB_IP)

bulb.get_properties(requested_properties=['power', ])

 

【计算投资组合损益的Python代码】

 

接下来,创建一个函数来计算股票的损益

def daily_pnl(stock):

stock_data = investpy.get_stock_historical_data(stock, 'united states', from_date=(date.today() +

timedelta(days=-1)).strftime("%d/%m/%Y"), to_date=date.today().strftime("%d/%m/%Y"))

stock_data.index = stock_data.index + timedelta(days=1)

ytd = stock_data.iloc[0].Close

tdy = stock_data.iloc[1].Close

return ((tdy-ytd)/ytd)*100

 

只要在函数argument处出传递如“ AAPL”之类的股票代码就可以返回前一天的损益情况。

 

接下来我们要做的就是将损益范围转换为对应的RGB颜色。

def refresh_bulb_color(bulb):

pnl_to_color = {-1.0: '#ff1100', # <1%+ loss

-0.5: '#ff6a00',

0.0: '#ffffff', # neutral

0.5: '#8fb2ff',

1.0: '#0004ff',} # >+0.5% gain

 

pnl = daily_pnl('AAPL')

print("{:.2f}%".format(pnl))

pnl_idx = np.searchsorted(list(pnl_to_color.keys()), pnl, 'left').clip(0,4)

color = list(pnl_to_color.values())[pnl_idx]

rgb = tuple(int(color.lstrip('#')[i:i+2], 16) for i in (0, 2, 4))

 

try:

bulb.set_rgb(rgb[0], rgb[1], rgb[2])

except BulbException:

logging.error('bulb disconnected')

return False

 

return True

 

最后,我们可以设置无限循环并设置刷新间隔来重复此过程。我们还可以调整损益函数来计算整个投资组合的损益情况。

 

这样,

一个投资组合实时跟踪器就创建完成了。

你学会了吗?


 

近期热招: (点击标题,即可了解详情) 

招聘 | 高级期权交易员

招聘 | 北京/上海10家对冲基金秋季校招

招聘 | 投资经理 (高频CTA)-北京/上海

招聘 | Recruiter - 北京 - 对冲基金

招聘 | 股票量化研究-大雁资产-上海

更多岗位信息,请前往官网JOB分类查看!