当前位置:首页>股票

太原手机股票软件有obv(如何用OBV指标实现高成功率的股票交易——使用easytrader库实现)

日期:2023-11-11

来源:玫瑰财经网

浏览:

    OBV指标全称为“On-balance Volume”,即“能量潮指标”,是应用在股票市场和其他金融市场中的一种技术分析工具。OBV指标本质上是一个基于成交量和价格的趋势指标。OBV指标由Joe Granville于1963年首次提出,他认为股价与成交量的关系非常重要,OBV指标就是通过将成交量与股价相对的趋势综合起来计算出来的。

    如何用OBV指标实现高成功率的股票交易——使用easytrader库实现

    下面我们将基于easytrader库,编写一个OBV指标的交易策略。首先,导入easytrader库和Pandas库。

    import easytrader as etimport pandas as pd

    其次,定义一个函数来计算OBV指标。OBV指标的计算方法如下:

    • 当当前股价大于前一日收盘价,则当前OBV值为前一日OBV值加上当日成交量。
    • 当当前股价等于前一日收盘价,则当前OBV值与前一日OBV值相同。
    • 当当前股价小于前一日收盘价,则当前OBV值为前一日OBV值减去当日成交量。
    def calculate_obv(df):    obv = [0]    for i in range(1, len(df.Close)):        if df.Close[i] > df.Close[i-1]:            obv.append(obv[-1] + df.Volume[i])        elif df.Close[i] < df.Close[i-1]:            obv.append(obv[-1] - df.Volume[i])        else:            obv.append(obv[-1])    return obv


    如何用OBV指标实现高成功率的股票交易——使用easytrader库实现

    再次,获取股票数据并计算OBV指标。这里我们以“华泰证券”(601688.SH)为例。

    user = et.use('ths')user.prepare('trader.json')df = user.get_k_data('601688', start='2020-01-01', end='2022-12-31', index=False, ktype='D')df['OBV'] = calculate_obv(df)

    最后,定义交易逻辑。当股票价格上涨且OBV指标也上涨时,我们认为股票处于上涨趋势,此时我们选择买入股票;当股票价格下跌且OBV指标也下跌时,我们认为股票处于下跌趋势,此时我们选择卖出股票。

    如何用OBV指标实现高成功率的股票交易——使用easytrader库实现

    balance = user.balance[0]['asset_balance']for i in range(1, len(df)):    if df.Close[i] > df.Close[i-1] and df.OBV[i] > df.OBV[i-1]:        user.buy('601688', price=df.Close[i], amount=100)        balance = user.balance[0]['asset_balance']    elif df.Close[i] < df.Close[i-1] and df.OBV[i] < df.OBV[i-1]:        user.sell('601688', price=df.Close[i], amount=100)        balance = user.balance[0]['asset_balance']

    运行上述代码即可实现基于OBV指标的交易策略。需要注意的是,该策略仅作为参考,并不能保证盈利。在实际操作中,应该配合公司基本面以及市场环境等因素综合考虑。

    如何用OBV指标实现高成功率的股票交易——使用easytrader库实现

相关文章阅读

Copyright (c) 2022 玫瑰财经网 版权所有

备案号:冀ICP备17019481号

玫瑰财经网发布此信息的目的在于传播更多信息,与本站立场无关。玫瑰财经网不保证该信息(包含但不限于文字、视频、音频、数据及图表)全部或者部分内容的准确性、真实性、完整性、有效性、及时性、原创性等。
相关信息并未经过本网站证实,不对您构成任何投资建议,据此操作,风险自担。