parent
							
								
									77d8c06652
								
							
						
					
					
						commit
						6b2bd5011b
					
				@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					FUNCTION
 | 
				
			||||||
 | 
					execStrategy ( alloc , mavgday , mavgmonth , px ) {
 | 
				
			||||||
 | 
					buySignal := mavgday > mavgmonth ;
 | 
				
			||||||
 | 
					f := a + b ;
 | 
				
			||||||
 | 
					alloc * prd (
 | 
				
			||||||
 | 
					CASE maxs ( buySignal )
 | 
				
			||||||
 | 
					WHEN TRUE THEN
 | 
				
			||||||
 | 
					CASE buySignal
 | 
				
			||||||
 | 
					WHEN TRUE THEN 1 / px
 | 
				
			||||||
 | 
					ELSE px
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					ELSE 1
 | 
				
			||||||
 | 
					END )
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					WITH
 | 
				
			||||||
 | 
					Target (Id , TradeDate , ClosePrice ) AS
 | 
				
			||||||
 | 
					( SELECT
 | 
				
			||||||
 | 
					Id , TradeDate , ClosePrice
 | 
				
			||||||
 | 
					FROM price
 | 
				
			||||||
 | 
					WHERE Id IN stock10 AND
 | 
				
			||||||
 | 
					TradeDate >= startYear10 AND
 | 
				
			||||||
 | 
					TradeDate <= startYear10 + 365 * 10),
 | 
				
			||||||
 | 
					weekly (Id , bucket , name , low , high , mean ) AS
 | 
				
			||||||
 | 
					( SELECT
 | 
				
			||||||
 | 
					Id ,
 | 
				
			||||||
 | 
					timeBucket ,
 | 
				
			||||||
 | 
					" weekly " ,
 | 
				
			||||||
 | 
					min ( ClosePrice ) ,
 | 
				
			||||||
 | 
					max ( ClosePrice ) ,
 | 
				
			||||||
 | 
					avg ( ClosePrice )
 | 
				
			||||||
 | 
					FROM Target
 | 
				
			||||||
 | 
					GROUP BY Id , getWeek ( TradeDate ) as
 | 
				
			||||||
 | 
					timeBucket ),
 | 
				
			||||||
 | 
					monthly ( Id , bucket , name , low , high , mean ) AS
 | 
				
			||||||
 | 
					( SELECT
 | 
				
			||||||
 | 
					Id ,
 | 
				
			||||||
 | 
					timeBucket ,
 | 
				
			||||||
 | 
					" monthly " ,
 | 
				
			||||||
 | 
					min ( ClosePrice ) ,
 | 
				
			||||||
 | 
					max ( ClosePrice ) ,
 | 
				
			||||||
 | 
					avg ( ClosePrice )
 | 
				
			||||||
 | 
					FROM Target
 | 
				
			||||||
 | 
					GROUP BY Id , getMonth ( TradeDate ) as
 | 
				
			||||||
 | 
					timeBucket ),
 | 
				
			||||||
 | 
					yearly (Id , bucket , name , low , high , mean ) AS
 | 
				
			||||||
 | 
					( SELECT
 | 
				
			||||||
 | 
					Id ,
 | 
				
			||||||
 | 
					timeBucket ,
 | 
				
			||||||
 | 
					" yearly " ,
 | 
				
			||||||
 | 
					min ( ClosePrice ) ,
 | 
				
			||||||
 | 
					max ( ClosePrice ) ,
 | 
				
			||||||
 | 
					avg ( ClosePrice )
 | 
				
			||||||
 | 
					FROM Target
 | 
				
			||||||
 | 
					GROUP BY Id , getYear ( TradeDate ) as
 | 
				
			||||||
 | 
					timeBucket )
 | 
				
			||||||
 | 
					SELECT
 | 
				
			||||||
 | 
					Id , bucket , name , low , high , mean
 | 
				
			||||||
 | 
					FROM
 | 
				
			||||||
 | 
					CONCATENATE ( weekly , monthly , yearly )
 | 
				
			||||||
 | 
					ASSUMING ASC Id , ASC name , ASC bucket
 | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue