Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky

Akcie swingově - otestovaný obchodní systém+výsledky


xzajic

Doporučené příspěvky

  • 2 týdny později...

xzajic:

Zacal jsem forward testing s vyuzitim stockfetcheru, dekuji za tento tip. Backtest pres stejny nastroj ukazal roi cca 11% coz je na mechaniku vyborny vysledek.

Postupuji tak, ze vybiram z tech akcii, ktere shrnuji Tvou podminku na prvni strane, a pak je jeste filtruji "podle sebe". Hlavne ve smyslu P/E, pak z pohledu toho, jestli nejsou moc volalitni atd.

Mam za sebou dva obchody:
VRGY, vstup 14.1 (zatím - 0,15%)
BGCP, vstup 8.00 (zatím 1.61%)

Zatim ok.

a ted k problemu se stockfetcherem: Dnes, za uziti naprosto klasickych podminek:
Close is above MA(200)
Close is below MA(10)
Close is above 1
Average volume(50) above 500,000
RSI(2) 1 day ago below 2
RSI(2) below 1

vyjede 6 vysledku (results), kde napriklad VSH, INCY jsou uz nad "preprodanou" linii a nejsou vhodne pro vstup, stockfetcher mi je vsak porad ukazuje. Nevis, kde je chyba?

Diky.

Link to comment
Sdílet pomocí služby

Kde je chyba nevím, tipnu si - stock fetcher zobrazuje data s cca 20 minutovým zpožděním, což by ověem v tomto případě nemělo hrát nějak výraznější roli.

K tomu stock fetcheru a backtestu - ten "vestavěný" nakupuje až druhý den ráno, což nemusí být to, co chceš. Tady je třeba skutečně nakoupit za "market on close" s tím, že ta cena může přes noc "utéct" a to je škoda.

A ještě jednu poznámku, resp. dvě. Ty používáš jako ten rychlejší klouzavý průměr SMA(10), já SMA(5). Nemusí to samozřejmě vadit. A za druhé - mě těch 11% ročně přijde málo - testoval jsi to s jednou současně otevřenou pozicí, nebo s více pozicemi? Mě dlouhodobě vychází, že nejlepší jsou 3 pozice, tzn. rozdělit kapitál na 3 díly a nakupovat 3 akcie (pochopitelně pouze v případě, že jsou příležitosti).

Mimochodem, tipem na dnešní nákup podle mojí strategie je akcie PGN (Progress Energy, Inc.).

Link to comment
Sdílet pomocí služby

xzajic
Ohledne Stockfetcheru - Podle me to nebude ta chyba, protoze ctu data az po end-of-day, vzdycky dopoledne CET. Ale nehledam u Tebe "rozhreseni". :) Mozna to jen zadavam, nebo ctu spatne, mozna se to tobe zobrazuje spravne, nevim.
Nevadi, treba na to nekdo prijde.

Ohledne back-testu - zadal jsem jen primitivni back-test ve stockfetcheru, podle me to bralo vsechny podminky na vsech akciich s volume vetsim nez 500k.

Jeste zpatky ke Tvym pozicim, znamena to tedy, ze nakupujes prumerne kazdy den 3 akcie (tituly) (samozrejme dle prilezitosti) - ale prumerne drzis titul 3-5 dni, to znamena, ze svuj kapital musis rozdelit na 12-15 dilku, rozumim tomu spravne? (takovou cestu uvazuji ja)

Vysledky meho cvicneho portfolia:
VRGY +0,06%
BGCP +3,24% (dnes prodavam)
vcera koupene EV +0,96%

Link to comment
Sdílet pomocí služby

> Jeste zpatky ke Tvym pozicim, znamena to tedy, ze
> nakupujes prumerne kazdy den 3 akcie (tituly)
> (samozrejme dle prilezitosti) - ale prumerne drzis
> titul 3-5 dni, to znamena, ze svuj kapital musis
> rozdelit na 12-15 dilku, rozumim tomu spravne?
> (takovou cestu uvazuji ja)
>
> Vysledky meho cvicneho portfolia:
> VRGY +0,06%
> BGCP +3,24% (dnes prodavam)
> vcera koupene EV +0,96%
>
>

Kapitál mám rozdělený na TŘI díly, tzn. za den můžu nakoupit nula až tři tituly. Jestliže mám tedy nakoupené třeba dva, tak na další den můžu dokoupit už pouze jeden. Rozdělit to na více částí samozřejmě možné je, ale moje backtesty ukázaly, že pak člověk kupuje i "malé ryby" a než mít 12-15 akcií na swing, tak to bych skoro zvažoval nějaký index.

Včera EV? Myslíš asi ve středu za MOC okolo 30.85 za kus? Tos mohl včera už skoro prodat s pěkným ziskem 1,16% za obchod. Je to jeden z těch "menších" obchodů, ale zase má naprosto typický průběh - akcie se krásně dostala nad svůj pětidenní klouzavý průměr a ještě má RSI2 skoro 70!

Mít takových obchodů 20 měsíčně (což při rozdělení kapitálu na třetiny není zase až takový problém) při 70% ziskových obchodů by činilo hezkých cca 10% zisku ;-)

Link to comment
Sdílet pomocí služby

wikas80 Napsal:
-------------------------------------------------------
> xzajic:
>
> Rozumim. Jasne vysvetleno. Myslel jsem si to. Ja
> budu chranit kapital vice, tzn rozdelim cca na 5
> dilu. Podle testu. Ted uz jedu jen forward test -
> cca par mesicu, zkusim neco uskodlit a jet livbe .
> Jedes pres Interactvie brokers?
>
> At se dari!


Pořádně to otestuj. Rozdělením kapitálů na více částí se samozřejmě chráníš před výkyvy, pokud nakoupíš dostatečně nekorelované akcie, ale taky si snižuješ zisky. To bych spíš zkusil ten kapitál chránit tím, že bych nekoupil celou pozici, ale třeba její polovinu a druhou polovinu pak při dalším poklesu.

Já testoval kdeco, ale "na férovku" koupit tři plné pozice mi dávalo konstantně největší zisky. Jinak ano, jedu přes interactive brokers, zatím to po cca dvou letech nemá žádnou chybu. :)

Link to comment
Sdílet pomocí služby


Zdravim xzajice a dekuji za inspirativní vlakno!

mel bych otazecku pravidla pro vstup jsou jasna pravidla pro vystup se ziskem jsou taky jasna. Co se tyce pravidla pro vystup ze ztratou tak pises:

"Fyzické SL sice nepoužívám, ale jakési "mentální" samozřejmě ano. Pokud chceš experimentiovat, tak prodával lze (například) pokud cena klesne pod SMA200, ale backtesty ukazují, že to je historicky méně profitabilní než čekat na překoupenost."

a dale..

"Pokud nerozumíš mým výstupům, přečti si prosím znovu sekci "Pravidla pro výstup" a "Co jsem neprozradil" v úvodním příspěvku tohoto vlákna."


k tomu prvnimu prispevku pokud cena klesne pod SMA 200 tak jak jsem pochopil je to jedna z moznosti kdy muzu vzit ztratu az po sem je to celkem jasne ..ale dale pises :"ale backtesty ukazují, že to je historicky méně profitabilní než čekat na překoupenost." jedna se o preklep a mela byt napsana preprodanost ? pokud ano tak chces videt RSI jeste vice preprodane a vystupujes.... ?

tvuj druhy prispevek..jsem pochopil ze se ti o ztratovych vystupech moc nechce mluvit protože je to součást know how ..coz je samozrejme naprosto vporadku....

Promin, ze se takhle ptam, ale davam si to dohromady. Něco podobného jsem kdesi uz videl, ale s jinými pravidly a taky se pouzival jiny software na to vyfiltrovani.
Mne se to moc libi. Je to logicke a jednoduche a dlouhodobe to musí fungovat. Ceka se v podstate na pullback v uptrendu coz je podle stareho znameho „trend is your friend“. Spoustu lidi tohle říká, ale potom je clovek vidi obchodovat reverzni formace.
Diky a mej se
PS: skoda zes prestal davat obchody.
l.





Link to comment
Sdílet pomocí služby

Ahoj, ty výstupy nejsou tajné. Prostě jsem experimentoval s tím "pokud to protne SMA200 směrem dolů, tak se toho zbav" a druhá varianta byla "za každou cenu počkej, až se RSI2 dostane NAD 70" a ta druhá varianta vyšla o poznání lépe.

Takže prodávám, když se RSI2 dostane nad hodnotu 70. Bál jsem se, že takhle budu některé akcie držet věčně, ale backtesty za 10 let (to už je backtest, což?) ukázaly, že "rekordní" doba držení akcie za těchto podmínek je 21 dnů, což je pro mě přijatelné.

Jinými slovy - nejvýnosnější se ukázala strategie "i když to jde dolů, počkej na lokální překoupenost a vyplatí se to". Procento ziskových obchodů je stále kolem 65% a výše a zisky jsou větší. Doufám, že jsem to nevysvětlil moc složitě.

Link to comment
Sdílet pomocí služby

wikas80 Napsal:
-------------------------------------------------------
> Ahoj, ted mam bohuzel dle teto strategie nejake
> ztratove obchody: IGT, PDCO, LLL.
> Screening mi filtruje super vstupy na dalsich
> akciich, ale neni kapital, jak toto resit? Urcite
> uz jsi to (xzajic) zazil, jake mas s timto
> zkusenosti?
>
> Diky a at se dari.
>
>


PDCO mám zrovna v portfoliu a jsou na něm pochopitelně ztráty kolem 3%. Jak to řešit? Neřešit! Počkat, až RSI2 bude nad 70 a prodat. Tato strategie produkuje i ztrátové obchody, je třeba se s tím naučit žít. Za květen to celé přidalo pouze cca 2% zisku, což je slabý měsíc, ale zisk to byl. Taková je realita obchodování.

Link to comment
Sdílet pomocí služby

VISO Napsal:
-------------------------------------------------------
> tak to mas PF slusne nad 2, ak by som neriesil
> vlastne veci urcite by som uz skusal to tvoje

Mě na této strategii vyhovuje hlavně její jednoduchost na pochopení a robustnost. Jak řkám, komoditní obchodníci by se asi 70 procentům ročně vysmáli, ale chtěl jsem tímto vláknem ukázat, že i akciemi může být člověk živ, není třeba jet pouze v komoditách.

Link to comment
Sdílet pomocí služby


Pokousel jsem se v RightEdge "naprogramovat" tento system ale vzhledem k tomu, ze v programovani nejsem nijak zdatny tak se v tom uz par dni motam nejsem schopny tam ty podminky nahazet aby mne to nejak smysluplne fungovalo. Pokud by nekdo byl ochotny mne v tomhle nejak poradit popripadne nekam nasmerovat byl bych hodne vdecny.

Premyslel jsem ze principielne by to slo asi i v excelu ale pokud to umi tenhle softik tak to bude asi jednoduzsi.
Link to comment
Sdílet pomocí služby

V RightEdge bych to viděl asi nějak takto:

#Region "Using statements"
Imports System.Drawing
Imports System.Collections.Generic
Imports RightEdge.Common
Imports RightEdge.Common.ChartObjects
Imports RightEdge.Indicators
Imports System.Linq
Imports System
Imports System.Net.Mail
Imports Microsoft.VisualBasic

#End Region

Public Class MySystem
Inherits MySystemBase
Public Overrides Sub Startup()
Me.PositionManager.MaxOpenPositions = 3
SystemData.CreateTicksFromBars = True
AddHandler SystemData.BarClosing, AddressOf BarClosing
SystemData.EnableTradeOnClose = True
End Sub

Public Sub BarClosing()
MyBase.NewBar()
Dim orderedSymbolScripts As List(Of MySymbolScript) = SymbolScripts.OrderBy(Function(ss) ss.RankValue).ToList()
For Each ss As MySymbolScript In orderedSymbolScripts
ss.Trade()
Next
End Sub
End Class


Public Class MySymbolScript
Inherits MySymbolScriptBase
Public Property RankValue() As Double
Get
Return m_RankValue
End Get
Private Set(ByVal value As Double)
m_RankValue = value
End Set
End Property
Private m_RankValue As Double
Public Property Rank() As Integer
Get
Return m_Rank
End Get
Set(ByVal value As Integer)
m_Rank = value
End Set
End Property
Private m_Rank As Integer
Private myRSI2 As RelativeStrength
Private mySMA200 As SMA
Private mySMA5 As SMA
Private myVolumeAvg As VolumeMA

Public Overrides Sub Startup()
myRSI2 = New RelativeStrength(2, Close)
myRSI2.ChartSettings.Color = Color.DarkOrange
mySMA200 = New SMA(200, Close)
mySMA200.ChartSettings.Color = Color.Red
mySMA5 = New SMA(5, Close)
mySMA5.ChartSettings.Color = Color.Blue
End Sub
Public Overrides Sub NewBar()
If Double.IsNaN(myRSI2.Current) Then
RankValue = 0
Else
RankValue = Math.Abs(myRSI2.Current)
End If
End Sub

Public Sub Trade()
If Bars.Count Return
End If
If Bars.Current.BarStartTime.DayOfWeek = DayOfWeek.Saturday Then Exit Sub
If Bars.Current.BarStartTime.DayOfWeek = DayOfWeek.Sunday Then Exit Sub
If OpenPositions.Count = 0 Then
If mySMA200.Current If myRSI2.Current PositionManager.AllocationType = PositionAllocationType.Percentage
PositionManager.Allocation = 100 / 3
Dim mySettings As PositionSettings = New PositionSettings
mySettings.PositionType = PositionType.Long
mySettings.OrderType = OrderType.Limit
mySettings.LimitPrice = Close.Current
mySettings.BarsValid = 1
Dim myPosition As Position = OpenPosition(mySettings)
myPosition.Tag = "0"
End If
End If
Else
Dim myposition As Position = OpenPositions(0)
If myRSI2.Current > 70 Then '
myposition.CloseAtMarket()
End If
End If
End Sub
End Class

Link to comment
Sdílet pomocí služby

×
×
  • Vytvořit...