|
|
改了一下,这次运算应该没啥问题了% G" d2 M5 E8 r; j- f+ r
* h4 b }2 c" P9 S- M4 \& Z$ A
9 n; X5 n. h* X0 L4 D/ t# A% scapture program drop hello; K3 p4 x f$ o& o7 T2 n
7 Z6 U. W. Y" @% `5 xprogram hello: @0 z% Q, ]3 f$ ?! r* l* h1 w
$ l# w+ A; R) x quietly {/ j. n; x U/ G# \) q# [
7 D V3 L1 Z: s; H& S2 C
clear. [, m+ T" q1 q7 V0 I9 c
+ m* w z' K4 j' u) v% k" l
cd e:\finance\stock\20110101\source. ]" c6 {& L# W2 M5 |& D/ N
* g4 y& \5 A" h# _) J Uinsheet using `1'.txt
4 E2 o1 L2 a7 z( z' Z% l
! L# i3 J$ |# f6 f keep if v5>09 ?6 t& E7 l4 F. d6 J* w9 q3 ^$ R
Z: h5 n4 N" w& V$ p
gen vt=_n A% g V. q# A: n% {& f
; v+ D' E+ u4 t9 `
tsset vt
v3 A$ b7 |1 e( i; I- E8 ?8 r8 d) Y* |$ A+ O8 j7 B
gen zf=D1.v57 r+ [7 u A N. ^' t
. r& Z8 }9 T; q( y, ~8 O0 r
gsort -v1
4 I( c- F( ^* ?9 l( r
. `5 t# X% _" @ |$ G$ t gen avol=v7/v5
3 S/ g; R) p, p4 ~# D/ Q
' v% `: m% G. F' }- M) K; l keep if avol>0! M8 G* L" d9 ~2 s
( J! b8 | Z( ~, S% b6 ^ drop vt3 r' ^. K1 K6 i& E1 T
5 V( p( ]% X- t1 i
gen vt=_n( l# b0 Y0 [8 f3 S7 u) A
* j, x7 o: r: E# [) z% g# d
tsset vt
; l6 O/ }7 B1 W 9 w& S# d9 q! R1 f% d
sum v5 [aw =avol]
- V6 `- f( T3 `5 w; K0 Z1 {9 _# j3 |
gen amean=r(mean) in 1
) j9 W' `6 x/ n, Q( g6 n 5 g# n/ A( V- E% \/ Y
* 总加权平均值 amean2 Y' e* |; _% L% S. _
5 Z$ u/ ^. O4 E# f+ s' u" k
/ t7 G# Y" X5 b' Q keep in 1/240% w$ Y& I) d* ]9 W" \7 j
: y i! ~' l5 K R
sum v5 [aw =avol]0 Z2 h4 e3 g/ N* E
. C9 F) ]5 W7 C/ ^5 y
gen mean240=r(mean) in 16 O4 t1 t) ], k q" ?0 H
0 P! u6 s8 q% C1 B& d: x *240加权平均值 mean240. t7 U" s8 x. t5 z4 s& B. w: y% O5 B
8 H+ t9 A! y3 w! e set obs 500 - u: ~" q# H/ o! ~
2 M {: ?8 f0 I2 \4 z7 F kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
/ ]" |* y k& Q6 s3 z/ S, }' K 3 Z% W; c$ M( S
*240 kdensity(dx240 dy240). T8 `6 u9 i# k, [) r* `. ?
5 e2 e) r @# J sum dy240
: I* C- ~& j% c- R) \- @ 6 [+ a' U1 D( B( H; p
gen yxis=r(max) in 1
- v+ A- ]8 w# a- j " B s5 X- u) Y0 B. e
gen yxis2=yxis/2
# r: W' f9 U E: {1 o * e: J1 a! \$ b
*yxis
6 w, Y7 T# |, h7 l1 y, k + s$ Z5 s" H; w7 \- v% S* v
gen dy240max=r(max)
! v% j7 G+ }. D% ]1 Z
: ^5 C! A$ l" s* V c gen dy240minp=r(min), ` R5 P& x! V/ x) ~4 Q
, _1 k# ?( V; l
gen vtt=_n
+ z6 w+ P% Z3 N( Q: [; `( \) ^8 ]8 \% H( Z" R
tsset vtt
) ]; R/ U9 I$ I. D, `9 Q6 e+ H" u2 y8 H1 s; \
gen ddy240=D1.dy240/D1.dx240! D! u, q( _5 d/ l6 h& x
/ c, i, d3 b$ _. F sum ddy240+ O# m( }! x0 W% O9 \0 l
: s$ P6 z& D* r( Z& g
gen ddy240max=r(max)
3 a) U9 F: s# i
/ c2 E* J7 f. r; K1 [5 @" [8 [ gen ddy240min=r(min)
& Y! `* \5 ~* ] 7 X: C& A$ m' S7 U' \% S
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)3 G$ V+ @& C0 T8 P4 k. Z2 }2 w2 m
# R/ X9 x; q S sum ddy240g
" L9 _6 F/ l9 y
$ M/ U) W/ d( M: N+ S gen yxis3=r(min) in 1
' m# ]% X7 f' ? 7 D4 n+ I0 |" S
gen yxis4=0 in 1
' r' S$ m( v7 I2 E6 `4 \( T
0 W4 |% N& Z- I *ddy240g
8 s! a3 R, J7 \3 c( q4 { v
q' \: Q; A$ W/ `6 ^4 L
: r' b; `7 _. J3 Q+ X% g preserve . B+ w; x7 B% ~" E2 {
5 Q& {$ S4 l% V7 M4 }
sum v5 [aw =avol]/ @4 Y* F7 N% R* w4 i2 k% {4 }
, o4 p* _! N5 ]
keep if dx240<r(mean)
0 ?, h1 G8 v4 g2 L+ Z/ ]) l7 |
! H L8 g7 ~0 G8 F1 O( a sum ddy240! {+ ~; b6 d- s3 Z
, d: r# t6 o+ q6 t6 L6 J% K if r(min)<0 {
: a" Z! V, Q7 x" Y' C; Z8 b. T
9 o+ L+ ~0 T% W. h* N- E- f keep if ddy240<=04 e9 |9 r1 t% R$ Q1 `
; v6 [# U' l, \6 H& S4 {
count
+ A" X/ f. v4 Q S* ?: Q9 ^& T! } # w' W5 o) h! m4 [
if r(N)>2 {
9 J5 g" E4 _2 k& T9 }2 @ c
8 \5 ^, [9 Y% F pkexamine dx240 dy240
' t4 K! p ]) ^6 R , C& Z7 w7 W# \3 ?/ c% X, x
local tempminp=r(tomc)3 }$ u5 o% t3 G) X7 |* f |
restore
' q. D+ b! |- q6 r7 R3 R }( g: Y$ L6 P* d
- j% w- |' j; j/ h3 q! M% @
else {
% `6 Q, A" l% H( A6 |2 ^ ) v2 u. n, p1 p9 Q, E {. i9 m
di "cannot find minp"3 b) g$ m0 G C: v+ I) S
$ v; J) D) f+ G# x: {1 N, `
restore
3 K+ B3 L1 Q7 d3 ~+ E" N sum dx240. H `; w5 T2 ~. n+ G% _
local tempminp=r(mean)# Q: ^+ {2 `' R
* y* m6 d% y- A% m }
6 A8 r5 V, L6 @5 o h6 O }
0 \, e' ]$ P H8 p4 K else {
9 a1 v; F q; m% Q. r5 O
# t" J, M, Y0 |# q& ` keep if ddy240<=r(min)1 F1 _% m9 c; z
8 r4 Q. e$ m% k& o0 m8 S; i: R sum dx240
6 @3 Y9 H1 M$ G$ Q/ n4 s& V8 {& f
+ Q6 e5 b: d U0 u local tempminp=r(min)
* r7 P; r" E. i, Y9 S restore 3 K2 a" s/ |0 x2 I
}
, Z. n% S" R; z+ }1 X2 _ p) H
8 c+ X* h1 _; G- n9 g0 \! S* F& e! |9 k D6 [
+ D$ p% n) N9 B7 X. W# @1 S# ^8 L
gen minp=`tempminp' in 1& C' J7 Q* o" h% u2 O* H* ~
*240 minp
2 B" ~# H) h3 }9 ?" b4 a- L7 C& ^& U1 M0 b9 i) @6 c% ?. ^% O7 K1 Q; X
5 ^6 N$ ^% b; ^1 A: v1 d ! N! e: l }) d( ~4 R9 E
preserve ' c8 l9 `3 ^; E* c8 Q3 O
# A A& G7 H5 f
sum v5 [aw =avol]
9 u% j Z; a1 S( ]: M ; C5 ~0 A( B4 Y; ?6 @7 o& u
keep if dx240>r(mean)0 v" M" L2 M; {
9 W* L, S6 x, w# I& ]# y
sum ddy240 r' o g+ P5 _& e7 n, V
2 s' |! F* m2 W
if r(max)>0 {
- X2 l- S/ U% U* a3 |; Z W& A% `" _! q6 @1 N' Q
keep if ddy240>=0) c7 Q2 O. g' a+ z
: x( w0 |- Z5 Q' O' [: E% [ }
count$ x/ [* N3 E) r" J9 F: [
0 |+ C6 n+ K1 l! ?3 @9 e( B
if r(N)>2 {) y, z) Z9 i0 U' p% N1 B3 t- I
( @$ ?8 T% ]3 ~7 G- q1 W( S$ [4 w3 H pkexamine dx240 dy240
1 F. D6 b" ^' g4 U+ _ ) t0 F1 H9 g4 G) y a+ T7 A8 c
local tempmaxp=r(tomc)
; I4 X. v3 ~& g0 [* ]4 ~; J9 d l restore
- @5 ?) S% P3 U* j }7 w9 K1 E* @( {3 |! I
$ p, G) L( O4 u, W/ U7 M
; t M: }4 _$ H6 f% P9 q else {( R* t- r7 ^% r/ p E3 x
restore : e: E1 J% }2 o1 {
di "cannot find maxp". f7 _% ]4 d2 ?1 ]' {
0 z6 v1 i' K9 L' Q6 u6 _& c + ]& I7 v+ w7 A0 l0 E
sum dx2401 c4 j% O: B4 u6 K x5 ~
local tempmaxp=r(mean)* u' O, P6 f/ ?0 h: S' q' A
3 ?& v3 f5 O! ]
}
, P/ R8 t! I: ^; Z
# U6 E1 ?/ m+ i L }& [% l2 D9 i4 R6 | J) `
4 B, N6 W$ ^/ ?2 B7 v# Z4 N. X) n
else {8 b7 Q% t$ p9 \) h' Z
1 D7 ~& x. N1 S e1 W keep if ddy240>=r(max)
, Y# R; e- x/ L6 V* O
3 C) F% B" n& ~' |) V; ~ sum dx240
1 c- h9 \7 y% o; D 9 V/ a x# ?8 r* ~4 `( r% d- D
local tempmaxp=r(max) # y! ]. I6 B) _- b, w0 F
restore ! w% i% h0 ]1 G7 I ]
}$ A& T6 z6 S; P; |' _
( y% F8 s6 C& V
/ e, G0 x4 ?6 y+ J
6 _0 o5 d3 t0 v1 t5 {2 K( _; @0 `8 N
gen maxp=`tempmaxp' in 1
9 l0 S' S5 U( }8 }& P
- L9 C5 q6 i6 l8 r0 F/ V *240maxp: F- _/ J( A. y1 J
2 v. }: {- V8 Q: j4 o 8 w+ V" X/ x, }& F) _* K
*-------------ddy240pminp左侧高峰值-----
0 y0 J* ~1 y. z9 }2 p
- Y% Y: V* p: b* I. ?" F preserve 4 h4 v) _1 N. x2 i
; h1 }0 w7 @4 }, w; ^+ T' w
keep if dx240<`tempminp'1 {2 s! B- M4 O- r- @# I0 M8 c
0 l9 Z& [% r0 a. k7 W9 r keep if ddy240>02 Y6 Z, c. c6 n4 X( k
) m, _5 c9 A) C& q
count* E a+ c4 e) b, r
" k) v. u7 A( j- \9 a5 H
if r(N)>2 {
/ _( V( U" q$ s( y- i6 b! t
% {8 F6 F( R. R5 v pkexamine dx240 ddy240
& G _0 H+ k+ k9 ^ 8 x+ g) C3 h# @
local tempminphddy240=r(tomc) 7 l, s5 ]' ^& `/ x" }: B& @
restore
7 N+ @" L7 K) F k. f( ~) ^% e }
2 Z+ }+ c8 z5 x! @9 L' @1 u/ a$ |
$ |" c: N! Y4 ?; e: f else {
4 t+ H B2 @5 b# i restore ' w7 O+ U4 ]/ G! E
di "cannot find pminphddy240"/ t/ u: e( L9 f
D7 y5 I& R. R: N
* Z9 |& {. M, G' z, \# Z
sum dx240% \7 h! {5 v; g9 d( j! W
local tempminphddy240=r(mean) 7 u ], a1 A0 g) u2 ^
# e/ g% |0 j; Y/ d 0 f5 h' H8 b# N
}
2 D- x1 F& _- i5 O( T- w$ v
* M, X9 }. O$ d6 X1 K . `& u. R7 \ B v) S9 x
% h9 `. B# W! x5 p4 F; F1 l ) R2 m3 {0 \1 b$ }3 B* L' D
0 `$ ]7 J- k N7 f2 Z6 u8 e& N , R2 U( v( L/ }" s; b
gen pminphddy240=`tempminphddy240' in 1
2 F6 P2 M H; g( @& N i " S( d* V, Z% g! K
* `# |( U# p6 K v *-------------ddy240pminp右侧低峰值 -----------------
9 j8 z. x9 _0 _& G0 K: E; R1 u preserve 7 F5 J9 l. c- w6 Y' s4 F2 }
! z9 F6 Z9 d1 V1 J) q& z' l/ h4 E keep if dx240>`tempminp'( V; p% B( v3 q; d
e9 y+ i0 {1 a" _0 J& K, Q keep if dx240<`tempmaxp'; j( ~3 w/ A$ _' l$ E6 }
4 [1 j. }$ ?: u7 ? keep if ddy240<0: ~2 R' G/ q7 k& ~8 Q' M
+ p q# \, P2 W }% {9 [. m! ~+ U gen temddy240=-ddy240 m) j$ \9 U4 Z, d" y4 _- K: f
- i o/ ^" H2 A2 H" q
count, q; N) F2 F7 V7 N3 A' Q
; V/ e& v/ B, X( v
if r(N)>2 {. s# }+ D( M, l6 \3 ?* W
; O5 y" {: _2 G9 j
pkexamine dx240 temddy240# P' L( P/ p( R1 e
) d+ S& e! T1 j. U/ c5 I$ a
local tempminplddy240=r(tomc)
7 q: y% S. W5 M1 U restore$ R. \( b! [$ b9 d7 U) T$ @
}5 @& k' | A+ P3 H3 U
1 \/ l: ?/ V/ D. ]% k
else {
M7 |' P) i/ e& z $ E3 y: B' L2 \9 P0 N6 E( {
di "cannot find pminplddy240"' _$ ]( x0 r1 S+ N
restore
* g: d; Z! ?$ D2 J+ \) o
6 A% V, A4 k" G, `( t+ R sum dx240
# O' |# A% \' x8 k2 D( |# x local tempminplddy240=r(mean)
' t: t) _, X# L
3 f5 C; Q$ D3 V& t 3 {. t: W9 Q& q5 W+ u
}
" p9 n0 S6 @1 I7 S" {, [! c - Q/ A b5 j$ G% u2 G) a/ J+ [7 T0 d; g
5 o- u$ Q( r% E( F, K! w& H
5 ~) {: f0 E: c" T3 ]
- r: [2 q% K. @ u9 j4 X9 E. c( ^3 V
gen pminplddy240=`tempminplddy240' in 1
. ~! [+ Z, @1 n. F 7 i! `$ b* J. \) \
*-------------ddy240pmaxp左侧高峰值 -------------------$ @8 I/ P1 x0 Z. N- m% l) Q
5 x) g+ W& X" L5 U- i/ B$ v preserve
' ?8 n" b$ [$ D5 K$ c4 Q& [) R 2 D$ c- ^% K2 o+ s
keep if dx240>`tempminp'
9 a1 Z+ s- L. C9 j0 c4 g7 ]; F ' h8 ~: m. {( Y5 Y
keep if dx240<`tempmaxp'% V9 A2 @! c- W9 l2 y5 T* u
" ]- o1 l& K z: F) M) I# V
keep if ddy240>03 F: }& T' C+ X
count
% w S# j/ }: b( { G1 s# z& H. c( s, S
if r(N)>2 {2 |( C; B2 o' j0 j1 L* M
+ G \0 g- c% f6 A. G. M& E
pkexamine dx240 ddy2403 n3 {- o1 o; K2 O: m+ P6 o
- d" M) m, N. i5 g6 N- i; t$ d5 G local tempmaxphddy240=r(tomc) . ^2 r8 d* \1 m% m; E: n5 Z
- n' B& E2 ~! \* U9 }- N4 \
restore
- q$ M6 p' l* g }
4 p5 F0 G' B* w# f
% q6 f* w3 i2 E: x4 F else {
; s. ~* I" r5 O" {& k, a
7 ^) `# i. Y; f6 v% E di "cannot find pmaxphddy240"# U4 a# L- Y% U6 r; e4 Z2 n/ |
restore
0 D' D) Y$ C: S* U c3 `
. @0 t5 O: i' s# N sum dx240
# @# Q! @5 S( f1 v" O, ] local tempmaxphddy240=r(mean) 6 r( C" a/ O+ y8 K8 J# h# M
- D# p' o7 J, G
% E9 s0 U/ E6 w }
- l2 e/ l f: d% Z, ?! L1 r0 a
9 T) N' J( B9 B7 \3 j+ ~$ |% M
- [( A1 c, m" ?6 V# [* _& G
6 j% b- R+ z3 j7 T* n- V0 D ( x0 X8 G7 K- L, C# |% ~
" c) X: l7 P1 G) i
% l$ G/ f( J5 l
gen pmaxphddy240=`tempmaxphddy240' in 1* s- L: l; o9 X$ |0 s
% E1 E+ w$ f/ t6 @; {
% ]0 X* X3 N: D- | x *-------------ddy240pmaxp右侧低峰值 -------------------
$ f# p0 V5 K) N# B" o$ V
# R, {. }) X5 }; c* E preserve
b8 [9 }, O6 n% S% Q' X
* y; H) B: r+ A3 \. z keep if dx240>`tempmaxp'/ [, P" b1 f# c( M! Z
w+ e2 X% g& C! {, O
gen temddy240=-ddy240% Q' u" o |, J2 x+ G' A
) n" ^1 t y, S8 \( t% l9 L" [
keep if temddy240>0
; r3 O# A. g+ h9 p4 V' N . `3 e% F! T/ k7 A6 w. Z7 W' h
count
9 V( c- c( I5 ]' u # `$ Z& u" X Q; x- _ |8 n5 o
if r(N)>2 {
5 u1 n' q, ^* c* b; D3 J0 C " } O9 x% _0 p2 e4 e
pkexamine dx240 temddy240
( o! W1 m, c; h( f& T9 w! V: Y8 v" a ' R* E. X! ^* T# h0 E
local tempmaxplddy240=r(tomc)
8 W* O$ W* i, } restore( `5 g: w+ S# ?6 r9 l( d7 f
}/ k6 W% ^. N- K' y6 Q1 Z9 S
& G6 P# G5 y: R. O) m2 r
else {& j ?3 s+ f3 l. `; c3 _: V
restore
( Y+ ^1 b& c7 U7 g) \: I8 {$ Q di "cannot find pmaxlhddy240"
9 N: I2 m* U1 Z8 K- ?9 o! S/ g
% T1 w G! C3 D" ~" F; c: v5 F/ @# M: y , C6 V& t$ O* u, M
sum dx2402 i/ I2 y" p6 v% O
local tempmaxplddy240=r(mean) in 16 x$ P" U6 v% x J8 @
( t, q, l6 T. H0 \( ]5 O L0 q {7 \7 {0 P# O
}1 ]9 Z$ Y% h6 q" m7 d5 J; H j
( e1 y( x I; w$ S& B * C! T5 l' o2 W! Y/ K6 T) ]$ D
1 W* j8 S$ r [$ i
P) U Y0 x2 g8 z& S, v, l ) v& q V* `! z _2 z
) J) c& D9 R. {! M8 D gen pmaxplddy240=`tempmaxphddy240' in 17 r, A& ]6 ^. A7 [
$ e& s: f9 B! k% ~. M5 Y *-------------------------------------
( l- ] T& J% y 1 B8 h& Z$ e; A' P( y5 i1 }
gen price5d=v5 in 1/201 K7 V% z- _! n0 P3 M
' G8 B& B* H x. J3 ?2 ` gen price5yy=_n in 1/20" B8 p8 p6 d6 a% I: l
1 X/ m+ b7 W" d" ^. b1 i& v
gen price5y=price5yy*(dy240max-dy240min)/20
- z1 v7 J! c. |) t+ c1 p* G
( L0 p& M. h2 B *price5y &price5d
5 e, O- F& P3 Q/ _' t# L
( ?! R7 [: o" R- T. h gen priceny=price5y in 1; c+ |. I. U: h+ V, r& W0 k: q9 l
. Y- \5 j" x6 w# {/ [) w
gen pricen=v5 in 15 U1 o9 j! C" a$ x: ~
. y, l, Y- e1 q ) H7 A8 l2 Z2 T5 L' `
*priceny &pricen1 F' H) P" ?3 O( L% \# X
1 G7 a: L1 |: Z' S$ A$ f * s8 H* f& W. L0 x, `$ i
*-------------------------graph------------------& P$ _5 P8 w6 t( @
3 _/ y( x1 [1 ~+ \ a& M tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)
1 b$ v- K; l. N1 D7 U
5 D; E; n- v* X8 y8 r" L* ---------可选项目----------------------
# o7 a- w a9 c$ z2 M. t
8 z7 k0 R* B/ f# l7 p4 D+ Z' I, E}# N( f! p3 b3 w1 b
end) k, v# s# ~" L! |0 t" V- L
|
|