QMT如何获取持仓成本 盈亏比例

比如多次买入一个股票,每次买入不同的数量,如果中间又有分红除权,虽然可以通过自己写一个计算函数记录,但是会非常复杂。
 
那么QMT有没有内置的可以获取持仓成本的函数呢?
 
 position 持仓对象 里面有一个字段:
 
m_dOpenPrice: 持仓成本
 
可以用来获取当前的持仓成本:
 
具体代码如下:

# encoding:gbk

ACCOUNT = 'xxxxxxx' # 填入你的QMT账户ID, 如果没有,可以联系我开通 QMT权限


def init(ContextInfo):
    # hs300成分股中sh和sz市场各自流通市值最大的前3只股票
    pass


def handlebar(ContextInfo):
    # 计算当前主图的cci
    position_info = get_trade_detail_data(ACCOUNT, 'stock', 'position')
    for i in position_info:
        print('股票', i.m_strInstrumentID, '持仓数',
              i.m_nVolume, '持有成本', round(i.m_dOpenPrice, 2),
              '持仓盈亏', round(i.m_dPositionProfit, 2),
              '持仓盈亏比例', round(i.m_dProfitRate*100, 2)
              )

得到的输出结果:

### QMT API 获取全部股票代码的方法 在迅投QMT平台中,可以通过内置API来获取所有股票的代码列表。以下是实现这一目标的具体方式: #### 使用 `get_instrument_list` 接口 QMT提供了专门用于获取证券市场中所有可交易品种(包括股票、基金等)的接口——`get_instrument_list()` 函数[^1]。该函数可以返回指定市场的所有证券代码及其基本信息。 下面是一个完整的 Python 示例代码片段,展示如何利用此接口获取沪深A股市场的所有股票代码: ```python from xtquant import xtdata def get_all_stock_codes(): """ 获取沪深A股市场的所有股票代码 """ market = 'stock' # 市场类型:stock表示股票市场 stock_type = ['STOCK_A'] # 股票类别:STOCK_A 表示 A 股 instrument_list = xtdata.get_instrument_list(market=market, type=stock_type) all_stock_codes = [] for item in instrument_list: code = item['code'] name = item['name'] all_stock_codes.append((code, name)) return all_stock_codes if __name__ == "__main__": stocks = get_all_stock_codes() print(f"总共找到 {len(stocks)} 支股票") for i, (code, name) in enumerate(stocks[:10]): # 打印前10支股票作为示例 print(f"{i+1}. 股票代码: {code}, 名称: {name}") ``` 上述代码定义了一个名为 `get_all_stock_codes` 的函数,它会调用 `xtdata.get_instrument_list` 来获取特定类型的证券列表,并提取其中的股票代码和名称[^2]。 #### 关键参数说明 - **`market` 参数**:指定了要查询的市场范围。对于中国股市而言,“stock”代表整个股票市场。 - **`type` 参数**:限定所关注的证券种类。“STOCK_A”特指上交所以及深交所提供的A股股票。 通过以上设置即可获得一份详尽的沪深两市A股清单[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值