股票学习网

每日牛股推荐,股票每日推荐,每日股票推荐,股票预测 - - 股票预测网!

股票当天做t能当天卖吗与股票可以当天买当天卖吗

2024-04-03 11:58分类:资金仓位 阅读:

个人交易记录,积累若干天后反思、复盘和回忆的素材。

中国石油都能涨7%以上,还是机构们有钱。

在银行和石油等大市值股票拉升下,全天硕果仅存,日常关注的指数中,仅上证指数红盘,最强指数是上证指数,涨0.28%,最弱指数是创业板指数跌1.14%。

大势评分依然是0分,中期空头市场状态。

行业板块方面18涨对38跌,个股涨少跌多。最强板块指数是石油、电力和船舶,经济数据不好,应该是降工业成本,但工业的基础材料电力和石油却猛涨,看不懂逻辑,难道是利空出尽——后面要刺激经济了?按这个逻辑的话,明天差不多该涨有色和煤炭了。

最弱板块指数是商贸代理、电气设备和IT设备,电气设备太弱了,稍微有些风吹草动,就被机构们锤一顿,就像光伏etf,涨了4天,两天把涨幅杀完还富裕些,因此,千万不要重仓抄底,不站上60日线,抄底不能超过拟投入标的总仓位的60%,这样才能进退有据。

持仓的票票,还是一涨一跌,一个做T成功,一个买入被套,估计明天会给卖出机会,到了支撑位附近,怎么着也要晃荡一下吧?当然,一切皆有可能,如果继续向下,那就断臂求生,今天投入的小分队微套9分钱。

操作的4个etf品种,三个按计划仓位没有变动,做T成功,有色金属大仓位做T成功,最后一笔卖出没有回补成功,等待明天的机会,刚好股票有买入没有回补的,这样总体持仓水平基本平衡,没有当日对冲,我们的目标是高抛低吸,当日无法完成,隔几日能完成回补也是可以的,最重要的是盈利,尽量不亏损出局。

沪深300依然没有交易。

合格的日内交易专家是——70%的交易日,80%的交易周,90%的交易月是正收益即可浮盈浮亏都不要在乎,最终你肯定是赢家。

交易评价:4分。

声明:投资有风险,入市需谨慎,自己的账户自己负责。

投资实盘:第97天

目标:三年年化跑赢通胀就行

衷心祝愿点赞、转发和收藏的小伙伴,账户长红。

 

股票日内回转交易是指投资者就同一个标的(如股票)在同一交易日(T)内各完成多次买进和卖出的行为,保持标的股数不变,其目的是尽可能多地高抛低吸、赚取差价收益,减少浮亏。日内回转交易跟普通的做T有所不同,它比较适合长期持股投资者,每日操作完毕,当日持仓股数不变,避免踏空风险,只利用账户闲余资金赚取收益。日内回转交易的魅力就在于此,获取除了股票本身股价上涨收益之外的第二份收益,即日内差价收益,有机会依靠风险低的小仓位持仓,获取大于满仓持有的超额收益。

一、日内回转交易有哪些特点?

严格来说,日内回转交易只是利用原有的股票底仓的基础上实现的变相T+0,因而其具有如下特点:
1.T日内买卖,确保股数不变;
2.T日交易部分全平,确保不持仓过夜;
3.T日内同一标的回转交易。

二、日内回转交易的作用有哪些?

股票的收益主要来自做多,等股价上涨后抛出获益,但是如果投资者持有某股票一年时间,期间该股票有涨有跌,最后回到原来的价格相当于没涨。这时候如果投资者账户里又有一定比例的现金,同时持有股票和现金的缺点是,行情好的时候,不能满仓梭哈以获取最大收益;而好处呢,就是下跌时不会遭遇满仓跌停。所以,股票仓位的多少没有好坏之分,关键在于适时做出增仓和减仓的行为,把价差做好,获取除了股票本身股价上涨收益之外的第二份收益,即差价收益。

1.当你持有的长线股票没有被套牢而是已经盈利,如果你判断该股仍有空间,运用日内回转交易策略可以在股价上行过程中增加整体收益率。

2.当你持有的长线股票暂时被套牢,但是股价目前还在下行通道上或者在底部震荡区域,运用日内回转交易策略可以在股价震荡或者下行过程中减少浮亏幅度。

三、日内回转交易策略实操

1.在正式交易前需要先配置一定的底仓,配置底仓的作用是利用替代法实现“T+0”。由于当天买入的股票当天不能卖出,但底仓是可以卖出的,用底仓替代新买入的股票进行卖出操作。

2.交易数量

每次交易的数量 + 当日买入的数量(turnaround的第一位)< 底仓数量(以卖出信号为例)

3.回测标的:浦发银行(600000.SH)

4.策略代码

# coding:gbk

'''

本策略首先买入当前股票10000股

随后根据60s的数据来计算MACD(12,26,9)线,并在MACD>0,MACD_pre<0的时候买入100股,MACD<0,MACD_pre>0的时候卖出100股

但每日操作的股票数不超过原有仓位,并于收盘前把仓位调整至开盘前的仓位

本策略需在个股分钟线下运行

'''

import talib

import numpy as np

import pandas as pd

#=======================================策略初始化部分================================================

def init(ContextInfo):

# 第一次交易信号

ContextInfo.first = 0

# 设定交易股数

ContextInfo.Lots = 100

# 每日回转持仓量

ContextInfo.total = 10000

# 设置交易账号

ContextInfo.accountID = 'testS'

# 持仓情况

ContextInfo.MarketPosition = {}

# 手续费列表

commissionList = [0,0.0001,0.0003,0.0003,0,5]

# 设定买入印花税为 0,卖出印花税为 0.0001,开仓手续费和平仓(平昨)手续费均为万三,平今手续费为 0,最小手续费为 5

ContextInfo.set_commission(0,commissionList)

# 设置基础股票池(获取基础信息里默认品种的代码)

ContextInfo.set_universe([ContextInfo.stockcode + '.' + ContextInfo.market])

#============================================策略周期循环部分=========================================

def handlebar(ContextInfo):

# 获取当前bar线索引

d = ContextInfo.barpos

# 当前bar索引小于35,退出周期循环

if d < 35:

return

# 设置起止时间

startdate = timetag_to_datetime(ContextInfo.get_bar_timetag(d - 35), '%Y%m%d%H%M%S')

enddate = timetag_to_datetime(ContextInfo.get_bar_timetag(d), '%Y%m%d%H%M%S')

# print(startdate,enddate)

# 格式化当前bar对应时间

date = timetag_to_datetime(ContextInfo.get_bar_timetag(d), '%Y-%m-%d %H:%M:%S')

# print('日期', date)

# 获取基础股票池起止时间范围内的1分钟收盘价数据(ContextInfo.period为基础信息中的默认周期)

df = ContextInfo.get_market_data(['close'], stock_code=ContextInfo.get_universe(), start_time=startdate,

end_time=enddate, period=ContextInfo.period)

# 如果返回空DataFrame则退出当前bar的周期循环

if df.empty:

return

# 如果并未买入股票

if ContextInfo.first == 0:

order_shares(ContextInfo.get_universe()[0], ContextInfo.total, 'fix', df.iloc[-1, 0], ContextInfo,

ContextInfo.accountID)

ContextInfo.first = 1

ContextInfo.MarketPosition[ContextInfo.get_universe()[0]] = ContextInfo.total

# 14:55:00之后不再交易

if int(date[-8:-6] + date[-5:-3]) > 1455:

return

# 获取账户可用资金

avaliable = get_avaliable(ContextInfo.accountID, 'STOCK')

# 获取股票可用余额

holding = get_holdings(ContextInfo.accountID, 'STOCK')

# 初始化股票可用余额

if ContextInfo.get_universe()[0] not in holding.keys():

holding[ContextInfo.get_universe()[0]] = 0

# 计算MACD线

if ContextInfo.total >= 0:

recent_date = np.array(df.iloc[-35:, 0])

# 利用talib库的MACD函数计算MACD曲线,返回三个结果:macd(12日EMA-26日EMA)、signal(9日macd的EMA)、hist(macd-signal)

macd = talib.MACD(recent_date)[0][-1]

macd_pre = talib.MACD(recent_date)[0][-2]

#===================================开盘至临近收盘交易========================================

if date[-8:-3] != '14:55':

# 前2日macd为负,昨日macd为正,买入

if macd > 0 and macd_pre < 0:

if avaliable > df.iloc[-1, 0] * ContextInfo.Lots * 100:

order_shares(ContextInfo.get_universe()[0], ContextInfo.Lots, 'fix', df.iloc[-1, 0], ContextInfo,

ContextInfo.accountID)

ContextInfo.MarketPosition[ContextInfo.get_universe()[0]] += ContextInfo.Lots

# print(ContextInfo.get_universe()[0], '市价单开多仓', ContextInfo.Lots, '股')

# 前2日macd为正,昨日macd为负,卖出

elif macd < 0 and macd_pre > 0 and holding[ContextInfo.get_universe()[0]] >= ContextInfo.Lots:

order_shares(ContextInfo.get_universe()[0], -ContextInfo.Lots, 'fix', df.iloc[-1, 0], ContextInfo,

ContextInfo.accountID)

print(ContextInfo.get_universe()[0], '市价单平多仓', ContextInfo.Lots, '股')

ContextInfo.MarketPosition[ContextInfo.get_universe()[0]] -= ContextInfo.Lots

#============================临近收盘时若仓位数不等于昨仓则回转所有仓位=========================

else:

# 临近收盘持仓股数大于每日回转持仓量,卖出大于的数量

if ContextInfo.MarketPosition[ContextInfo.get_universe()[0]] > ContextInfo.total:

order_shares(ContextInfo.get_universe()[0],

-(ContextInfo.MarketPosition[ContextInfo.get_universe()[0]] - ContextInfo.total), 'fix',

df.iloc[-1, 0], ContextInfo, ContextInfo.accountID)

# print(ContextInfo.get_universe()[0], '回转操作市价单平多仓',
ContextInfo.MarketPosition[ContextInfo.get_universe()[0]] - ContextInfo.total, '股')

ContextInfo.MarketPosition[ContextInfo.get_universe()[0]] = ContextInfo.total

# 临近收盘持仓股数小于每日回转持仓量,买入小于的数量

if ContextInfo.MarketPosition[ContextInfo.get_universe()[0]] < ContextInfo.total:

order_shares(ContextInfo.get_universe()[0],

(ContextInfo.total - ContextInfo.MarketPosition[ContextInfo.get_universe()[0]]), 'fix',

df.iloc[-1, 0], ContextInfo, ContextInfo.accountID)

# print(ContextInfo.get_universe()[0], '回转操作市价单开多仓', ContextInfo.total -
ContextInfo.MarketPosition[ContextInfo.get_universe()[0]] , '股')

ContextInfo.MarketPosition[ContextInfo.get_universe()[0]] = ContextInfo.total

#========================================获取账户可用资金=============================================

def get_avaliable(accountid, datatype):

result = 0

resultlist = get_trade_detail_data(accountid, datatype, "ACCOUNT")

for obj in resultlist:

result = obj.m_dAvailable

return result

#=================================获取持仓信息——股票可用余额{"code":股数}===============================

def get_holdings(accountid, datatype):

holdinglist = {}

resultlist = get_trade_detail_data(accountid, datatype, "POSITION")

for obj in resultlist:

holdinglist[obj.m_strInstrumentID + "." + obj.m_strExchangeID] = obj.m_nCanUseVolume

return holdinglist

#======================================================================================================

四、策略回测1.回测频率、周期、手续费等可视化设置2.回测结果展示

(1)回测收益

(2)回测净值曲线

可以看出,日内回转交易策略的最大回撤都维持在较低水平,同时,胜率和年化收益率也相对偏低,可以起到增加收益或者减少浮亏的作用。

https://www.shideke.com

上一篇:三板股票行情查询还有三板股票查询

下一篇:和讯炒股骗人吗 和讯模拟炒股怎么样

相关推荐

返回顶部