股票学习网

怎么买股票_怎么买股票入门_新手怎么买股票 - - 股票学习网!

股票当天买当天可以卖吗(股票当天买入当天可以卖吗)

2023-11-09 15:29分类:OBV 阅读:

中国资本市场目前有两个股市,那就是A股和港股,由于台湾还没有回归,台湾的股市不再其列。

中国A股跟港股已经开通了相互投资的渠道,由于A股市场的原因,目前还不能所有的股民都可以投资港股,但是,凡是参与港股的投资者,应该都可以投资中国A股市场的。

A股跟港股的管理模式还是有很大的差距的,中国A股市场的股票,每天交易有涨停板,而港股就没有涨停板,A股每天的涨幅有限制,而港股的股票涨跌没有任何的限制。

A股的股票不能当天买卖,也就是说A股的股票今天买了今天不能卖,必须明天以后才能卖出,而港股就可以随意的当天买卖股票,当天买了当天就可以卖出。

两个市场经过比较,我们就可以得出一个结论,港股应该是一个比较成熟的资本市场,而目前的A股还存在着有很多不成熟的社会现象。

不同的市场就会有不同的股价,目前在A股和港股同时上市的股票价格,还真的都是不一样,即便是同一个公司的股价,在两个不同的市场上市,其股价也是不一样。

比如,国泰君安证券公司的股价,港股就会比A股的股价更便宜,基本上所有两地同时上市的公司的股价,也都会是港股便宜,A股市场的股价更贵一点。当然也有例外,那就是比亚迪上市公司,比亚迪的股价港股跟A股的股价差不多。

当然也有股票股价差距太大的上市公司,比如,中芯国际,中芯国际港股的股价只有十七元每股,而中国A股市场的中芯国际的股价每股却高达四十元。这样悬殊的差距是不是很奇葩。

我们去香港就会发现,在香港卖出的茅台酒,中华烟要比内地便宜很多,因为香港是一个无税港,凡是去香港的朋友都会带回几瓶酒几条烟,因为这样的优惠价让我们心动了。

而如今,香港的港股要比内地的A股便宜好多, 我们为什么你购买港股呢?如今沪港通,深港通都已经开通了,我们足不出户就可以随意的在港股和内地A股市场随意的投资了。

我们经常发现有人呼吁A股尽快的放开,涨停板,放开自由随意的买卖股票,当天买当天卖,给我们投资者最大的方便,然而我们为什么不选择去港股交易投资呢。

我们呼吁放开港股通的最后一点限制,让所有的股民都可以参与港股的市场交易。

 

股票日内回转交易是指投资者就同一个标的(如股票)在同一交易日(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.haizuanshi.com

上一篇:炒股民间高手白岩(民间炒股奇人)

下一篇:股票委托价格范围(股票委托成交规则)

相关推荐

返回顶部