使用python,运行环境为聚宽,获取市场上所有可转债数据,涨幅超过2%作为股票池,每10秒运行一次,使用分钟级别k线,当连续出现两根k线为阴,且过了30秒k线为阴线则买入。当盘口报价低于买价0.03元则挂卖5卖出,如果买入后每分钟k线一直为阳线,则出现阴线卖出
时间: 2024-02-02 17:04:08 浏览: 61
python环境路径配置以及命令行运行脚本
5星 · 资源好评率100%
好的,您的问题是如何使用Python在聚宽环境中获取市场上所有可转债数据,筛选出涨幅超过2%的股票,然后实现根据分钟级别K线进行买入和卖出操作的策略,对吧?
首先,我们需要在聚宽中获取可转债数据,可以使用以下代码:
```python
import jqdatasdk as jq
from jqdatasdk import finance
# 登录聚宽账号
jq.auth('username', 'password')
# 获取可转债数据
convertible_bonds = finance.run_query(jq.query(finance.SECURITY_CONVERTIBLE_BOND).filter(
finance.SECURITY_CONVERTIBLE_BOND.convertible_bond_type == '可转债'
))
# 筛选涨幅超过2%的股票
convertible_bonds = convertible_bonds[convertible_bonds['涨跌幅'] >= 0.02]
```
接下来,我们需要设置定时任务,每10秒运行一次,可以使用Python的`time.sleep()`函数来实现:
```python
import time
while True:
# 获取可转债数据
convertible_bonds = finance.run_query(jq.query(finance.SECURITY_CONVERTIBLE_BOND).filter(
finance.SECURITY_CONVERTIBLE_BOND.convertible_bond_type == '可转债'
))
# 筛选涨幅超过2%的股票
convertible_bonds = convertible_bonds[convertible_bonds['涨跌幅'] >= 0.02]
# TODO: 根据分钟级别K线进行买入和卖出操作
# 暂停10秒
time.sleep(10)
```
然后,我们需要使用分钟级别K线进行买入和卖出操作。可以使用以下代码获取分钟级别K线:
```python
# 获取分钟级别K线
kline = get_price('600519.XSHG', count=60, end_date=datetime.now(), frequency='1m')
```
对于连续出现两根K线为阴的情况,我们可以使用以下代码进行判断:
```python
# 判断连续两根K线为阴
if kline['close'][-1] < kline['open'][-1] and kline['close'][-2] < kline['open'][-2]:
# 过了30秒K线为阴线,则买入
if kline['close'][-3] < kline['open'][-3]:
# TODO: 买入操作
```
对于盘口报价低于买价0.03元的情况,我们可以使用以下代码进行挂卖操作:
```python
# 挂卖价
sell_price = buy_price - 0.03
order_shares('600519.XSHG', sell_price, 1000, order_type='limit')
```
对于买入后每分钟K线一直为阳线,出现阴线卖出的情况,我们可以使用以下代码进行判断:
```python
# 判断每分钟K线是否一直为阳线
if all(kline['close'][i] > kline['open'][i] for i in range(-60, 0)):
# 出现阴线卖出
if kline['close'][-1] < kline['open'][-1]:
# TODO: 卖出操作
```
以上是一个简单的策略示例,具体实现需要根据自己的需求进行调整和优化。
阅读全文