|
改了一下,这次运算应该没啥问题了
) x9 V0 h5 ~& c' a3 f. P% {
! k' c2 e, O! A4 r4 r) p; k+ U9 D. N( p% m1 A" [
capture program drop hello
, Z& X* c; X, U, _: O2 I9 D/ p# ~6 h4 Z* \; P" `1 _
program hello0 V( C7 s; I% I
$ v: {! B- h* F, I quietly {
3 |6 v) X" l3 _7 B: v) P3 a* V% t% Z( u2 b
clear! o4 U, i9 O) o4 k
$ p" d! s: p) I$ m; m. t" N4 @cd e:\finance\stock\20110101\source5 k$ E4 l" h" j
: v. u5 ^7 C# `! t4 B. N
insheet using `1'.txt
7 W/ v# |. g: X, }6 s. i
* V1 H9 `% U! v keep if v5>0
) h( ?( r/ D' _ v' l \; @, w
% R9 W0 E+ @" [* t, b3 l5 { gen vt=_n1 u$ C% x+ d6 C: v, j% d
* ^+ q* k5 J2 A8 v2 N tsset vt/ ~' j$ {4 q$ [5 H/ J) H
1 V1 U; {- d' k/ {; e gen zf=D1.v5
$ l; N p+ }# o0 a, Y
% m9 M+ K$ |& ?9 y. V' s gsort -v1
. o# V2 t' _. n# p# l" X& l
& a' T h4 i! @& c gen avol=v7/v5
! g8 e4 Z `- f0 d% p1 X
' T8 A, g8 s% G7 ] keep if avol>03 W/ Z' w: B# M/ g4 T% `1 e
! b C* ]* x* a% t# I$ n drop vt
) ~) B+ }9 z" z1 d) R$ e $ h. \8 L% B; a, ]9 g8 |
gen vt=_n1 p% u& f' `; ?) k; j) w
- ^8 l: G$ y2 H1 M9 n
tsset vt P' V' V, I7 P/ O0 o( ^" j" ^9 b
' H/ K0 @4 Q* r8 y
sum v5 [aw =avol]1 a6 k3 r6 Z7 w6 m5 b: ~
% K4 o4 T6 P7 ^' Q
gen amean=r(mean) in 1
' D: \0 }* s- l
0 _9 o7 z T' w( B' k" k! i * 总加权平均值 amean
( A+ m- `' ?2 R$ S
0 J8 u2 H& ~* x$ y' V
0 u0 V9 z. Y$ ~1 Y keep in 1/240
# H6 K: X/ a6 x$ o* C e' i/ m
sum v5 [aw =avol]+ H) l5 V! t2 e: P* g8 y% G5 q
: c0 {& E2 ~4 j& x
gen mean240=r(mean) in 1
7 O4 P1 _+ E/ Z. f& S+ x+ `) s, V- x 0 s7 x* d0 k5 x3 I1 A5 O
*240加权平均值 mean2404 g5 u4 Q Z6 y& N; S
: p; I7 I+ I0 c8 a7 ^9 T1 g set obs 500
' f7 ?7 ^, h7 I" f Z1 x# m ) F0 h, M. X2 t
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
% A1 q! P+ r2 r
t0 J4 V/ N. U* T( M4 \3 T" L *240 kdensity(dx240 dy240)
& s; S8 b( u) f4 r" a+ S
: E# D4 S: S% T' r5 w% C7 o sum dy240
# s& U- z, T# s8 \# w' h- O+ Q! z + F1 I, `) E0 L$ s/ b+ U3 H
gen yxis=r(max) in 1
+ J) {( J) O% n l3 h' @) o
O4 v2 f7 E" d; ]$ ~/ z gen yxis2=yxis/2
; g+ s2 x% E5 D: C 6 }$ D5 I% g& t$ @, @ M: S
*yxis6 `( c) J# d) T& T- U' B
- [2 W8 I4 ^* I' y$ k1 J
gen dy240max=r(max)8 J' c+ f$ x9 x
, G0 X) R7 c# b" D+ D) z$ D7 w* F3 J- g+ c
gen dy240minp=r(min)
5 y4 e2 b3 b( l
3 _) l0 s% s7 W5 Y. Z gen vtt=_n
1 T D6 v# |8 B8 i8 w
4 R2 i9 g$ z5 G3 q3 S! ~ tsset vtt5 \- [% B3 T+ k- _! D# X ~
6 j3 N# Y( r. H/ Q gen ddy240=D1.dy240/D1.dx240
! ~7 i0 \1 g2 T3 c1 v9 x 5 _6 l" _6 d3 ~6 |+ i
sum ddy240
# \1 r. j& i0 C$ X U0 z- a7 g& q8 P& L5 ~& }
gen ddy240max=r(max)
[8 P$ C+ J: f' ]
# {$ h5 [; k+ J$ ~) } gen ddy240min=r(min)
. s# h: R/ a3 W, T5 }( C% B. [ ; ]1 a. M w! `
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
; j2 w3 P8 a) F & V4 Z: K6 \% A' J
sum ddy240g
5 e% P5 [8 b( F) O( W8 H 2 _4 c ^2 t' p2 x5 {# o
gen yxis3=r(min) in 14 D H, g+ n. t; C$ S1 v" i
3 a& \/ r4 o- J% n
gen yxis4=0 in 1% ?& u$ l; `# O- B; ~$ J% N/ C
`- D7 k5 h- D# x. ] *ddy240g ) q8 p/ |# z2 v7 `0 w' b" K" N
; F! c# x' p7 g
; x; Z; J$ @8 Z. }! n7 s0 r6 O. o preserve
5 x, M5 W* D/ f: a* P2 x . Q9 E' h" q% P, {9 e. B$ o
sum v5 [aw =avol]0 x" q6 n# z. c( g
& Q2 ]7 z! P+ E& v2 u n keep if dx240<r(mean)
2 e, t) f! @; R$ U; M# ^: I; Q5 ~ ( t7 z6 j3 U% Q2 S0 X" B
sum ddy240
, U7 x! P# }5 j, C; A 9 f! G, w/ _/ T- y' M6 D
if r(min)<0 {
6 T9 ]$ s& H0 N' F
3 E/ J+ E5 _+ s( X% | keep if ddy240<=0$ s: {( E5 p/ u+ [' y; }/ K
3 W. E" Z) e, d. G! L- \: { count+ g* W7 `* w/ Y1 P4 i
3 K: d8 j3 k @& S" B
if r(N)>2 {
3 \& J1 S/ J+ X6 ~& z- u 4 D& e' ~0 P" K! U, p
pkexamine dx240 dy240
3 M- Y' z' E5 [8 x6 ` 6 ]. }$ v" G# |/ y2 |- d
local tempminp=r(tomc)
' }; C( Q4 u. Z/ ?8 s restore 9 e' k; l5 n( ^( N; L! d
}
) x# ?6 R9 S( P, P5 o6 M" j: |2 R+ ` ( E' g* [' u6 S
else {3 E9 j, h; Z$ l+ O
* g" o/ d1 X$ E5 ?! |) a di "cannot find minp"% L. }( ~5 c5 J/ r8 Y
j6 i) ]+ Q. @; ~ V: t
restore ; ~, a& v& \2 \! ~
sum dx240+ @8 O; t; {5 u& c( j+ }' j
local tempminp=r(mean)4 Q8 o) R* c* z8 B2 g2 M D
1 I/ W- _1 J7 H- ?; z9 c
} O8 [# n* Y6 X# V9 d
}' d( U2 B$ Z* l- a
else { R) u; ~6 c/ j E/ r
4 n/ w3 W# H( d
keep if ddy240<=r(min)
9 P, B8 F5 E7 }+ g( _) w R
# Y& U# q/ I) q( |+ o/ e sum dx240
: U( R$ b) c0 u/ \ - s! l, x: M/ O' Q5 B
local tempminp=r(min)
. ~/ D8 J1 w: K) B restore & M; i1 t" u/ e+ F% {
}
. d! R+ t# O6 B/ o) S+ S2 y; _% P: u5 m& I# O2 H
7 k- J' _! E' A0 a+ ?- O4 {* s8 W, O( z% K
gen minp=`tempminp' in 1# T/ {( E5 d2 b2 b- }1 G
*240 minp
3 u: ]5 ]+ R% h- S1 S
o/ ~/ Z( C p' ]! ^( I" l% t9 x4 ^7 f) Z& v$ [/ t
( {" u* b5 |# j1 k+ X( q preserve
# G0 S3 h4 Q' F
7 N* ]- W7 T( [# s J sum v5 [aw =avol]4 J8 s8 d8 d% `5 j! ?
: j. j- \* F% ~ keep if dx240>r(mean)
; Y& D0 _* T8 i3 t1 b & ]* a: P0 G9 F! d& \! }$ Z
sum ddy240
+ k" c3 \. U9 e/ T5 ` 9 o; K0 V" W6 Z* o8 T7 {3 r
if r(max)>0 {9 J+ k- P# q: j! Z
5 t C/ u, _# `5 [: L! C" G keep if ddy240>=0
3 u! r* Y& G* h9 o6 }" Z/ {1 C7 b
: R" _+ R! S W1 U; V) A9 Z count- [- j% i, A5 w8 K% q3 c
" Q; v1 }! b# N9 j5 Z- e if r(N)>2 {
7 m2 I5 G0 y2 c& y" b
8 j% b1 X- p7 H" A! h& I# P0 z pkexamine dx240 dy240
, g2 I) }( @6 ]+ Y$ ?& ?
. T2 K% `( @; ~# {, Q+ a local tempmaxp=r(tomc)
& ^. W3 {# q7 \. a restore
3 q' j0 v) O2 q7 {5 Y# ? }
; X( F$ |& D. h7 c; E
8 G( r. y+ V8 O( N% u* k
( p" Q, h9 [, z- P+ \* I6 ~ else {$ K. x, H* Y& ^+ h* H
restore
1 J/ N9 l5 I% Z( m; s4 M di "cannot find maxp"
. p. R1 h7 o8 a4 L6 [9 `; x
3 i9 c7 T. m) V2 }, E0 [+ G5 [
8 K! R( @) v- o, u! Q0 C sum dx240* T. H) S1 F- [# q+ F
local tempmaxp=r(mean)* _$ m5 d: N! R# D9 j H- t
& J5 D, B; v: J5 t5 { }' ^3 M' ?% f! @5 M8 z! T
8 g2 h' ~8 B; c, ]9 R \& q }2 n% I; U, G! X3 d" s
3 @4 R) U) ]8 o- h. \5 Z( L
else {
! i: T$ r5 L* f0 O2 R 2 f& a0 {+ }9 Z
keep if ddy240>=r(max)
, w, {- ^. g$ R, ~* I" z& T & o- x; ~& {* E# V$ W# J$ C
sum dx240, R$ f5 ]* l! M) ?
( [* z0 s/ ~% m2 O5 T9 q
local tempmaxp=r(max) ( w- W) P5 L. C9 L- J
restore 1 B% c/ m; D/ w' x9 [" [
}8 V1 B v5 j% g1 B, e4 w
( s' ?4 {7 t5 G! c, r& {) I7 b+ e5 R. D& Q6 J
1 W. L/ q" j2 n! `* q
; I7 J; o' [% q( }7 y; B gen maxp=`tempmaxp' in 1
* z) R* n) j8 @) K8 s ; o0 h8 @0 D+ P8 f
*240maxp2 N# o- c2 O9 @, p
- |/ l7 _8 R/ k' [) B8 \1 R
1 r# g8 {- l5 d5 H# i) D0 F
*-------------ddy240pminp左侧高峰值-----
: j/ t! y* C3 a& f* y # H D8 x, M4 i$ M8 ?& L
preserve 8 L& e. x. q4 j
, ~9 R; h7 P s# |5 |& `' |6 B keep if dx240<`tempminp'0 i( S/ o2 _3 Y- F8 y
- k3 c! T* J/ q$ F4 i C! Q! K keep if ddy240>0
9 f& y6 D0 s( _2 A) B7 M# e! p d1 f4 e) i, R
count* ? i' o/ v+ x
% _$ y/ }$ }" S U7 z0 I! c8 ]
if r(N)>2 {
2 l" `% g6 |! [% x
7 }: M6 }3 A/ g/ b7 ~, e8 H pkexamine dx240 ddy240
6 G6 R2 H* b* M5 b7 e5 g. S
6 x* E! X: {/ }3 Y9 J local tempminphddy240=r(tomc)
2 D, ?6 a4 _/ Z& n: Q. u restore5 t4 O* \6 k# z* j. N! v' b( M
}
8 P7 [. H- r! o9 V$ d & q7 {/ w: j$ x; \, ]- o+ [
else {# ^8 x% J% }% @& S( W
restore 2 s% k+ m9 Q! f3 g4 E
di "cannot find pminphddy240"; T) x; E6 K ]8 R
: o5 J, _2 X9 Y
: \8 M: v$ _. w
sum dx240
% l% h3 j* ]! @4 `7 V local tempminphddy240=r(mean)
" R( }8 e6 R$ n - ]7 ~! R& ~" d5 F0 j
, o& n! r( t( ?8 i" E0 M }
8 z/ Y- K, b0 D7 T% r) I6 { ; q Q7 c2 I/ P5 l D, D( F
% @ h; P _2 K% c, D. k3 k9 {
" f) V! h* i1 Z0 K( z
) a' x; t# K7 P5 v" x, d
, y# m' C. I7 `: t5 R% n& N8 I- c 1 [& f3 [4 w% B' i q; p) l& j
gen pminphddy240=`tempminphddy240' in 1- |5 H- H n8 A9 o! K
1 L+ \- ]; {2 z( P) s; K' o9 I( n
( q( l6 ?" Y7 ` *-------------ddy240pminp右侧低峰值 -----------------
# S7 J: L5 M5 ~/ \4 Y preserve
" Q4 i4 w2 m- O9 |) y7 M - a$ A' m) X# |
keep if dx240>`tempminp'
8 ^2 R: o" F) c4 Q( W1 S+ T : f/ w( {& P( p% Y2 u
keep if dx240<`tempmaxp'
" P1 Z% F( }. I0 x. {& U% ?! a# z
" p" ?" j' u1 Z keep if ddy240<0
, ^7 L) C1 x0 o0 m
- x- s! W7 u4 |! x gen temddy240=-ddy240* h5 X; T" F- |3 d
+ K- q$ L. K+ s8 k
count0 J4 {5 l/ I' \8 C; v: R
9 S- t! [0 ?$ z
if r(N)>2 {1 u( {: U/ ~8 ?3 U. ]
+ Z; o9 `" x- q& Z pkexamine dx240 temddy240
( |- @9 g$ H1 P |3 |# Z2 U% @
& D. J/ E# k+ X- | local tempminplddy240=r(tomc)- j. u8 ^0 v, d4 m& S# `% I1 B; ?
restore
1 e6 H% I0 W3 F# o/ X) B }8 c/ p! V2 j# j
! [6 a2 n4 |2 D1 X ~& p6 b, k. H0 z else {
% p1 a. S" F2 a 4 k+ k% R+ W; a
di "cannot find pminplddy240"
; e- j0 |6 T3 H, h, u4 f/ R restore
) T; R, N- h1 t. X- T- j
4 _# Z4 y! K" S8 V) L9 p- t sum dx240# s- a. m. K5 d7 Z
local tempminplddy240=r(mean)
2 y u+ }3 p( A: ]- ~3 U* u i ) @: N" u- ^" g* _6 U# A
8 i0 s; D+ X$ ^& \3 ~8 P
}
' ]6 s* r8 j) w) A+ J3 ~ ! R3 w. a0 E! n: _# i; S- e" `
8 U3 \- e8 q6 M8 o# x
1 U$ D3 Y, W5 W2 F4 u
' m/ B! \. U" F- M: b+ {7 | 0 }8 t9 S8 Q- Y7 b$ n# H
gen pminplddy240=`tempminplddy240' in 1
% m0 l7 L1 I0 W5 o, D8 W , \; H3 |- N s4 Y
*-------------ddy240pmaxp左侧高峰值 -------------------% D5 [" ~$ \ W" M
' U) b) L, o, y3 P- }% `2 @
preserve ! r' R) ]4 _" ~, m1 H
3 K1 E( e" E6 V# o
keep if dx240>`tempminp'
5 U$ R- u G- d + @. f, i& r2 K! C( [& E& v, B
keep if dx240<`tempmaxp'
- j. ^' M1 N" R9 Y+ l* R , C0 W+ ^2 A f* |% T6 J
keep if ddy240>0
) w0 G& I/ j& p. T3 d0 W count3 {3 o; ~$ c8 ? C/ u: m
# i0 a1 C+ P4 q+ |1 ]
if r(N)>2 {0 b6 T: {" W5 s% v3 O
( N- y# Y1 w1 n- P; Y6 h- B pkexamine dx240 ddy240# W- w2 \5 G. @: b5 w6 k! J9 W
6 I2 I& t; A9 S/ d6 _( C) L0 u8 u0 P local tempmaxphddy240=r(tomc) 9 H* D2 s E: ]: `5 J
. n- w; C2 S, A# F2 Z3 j/ {
restore
% e n/ y( a8 I* T+ D }0 c/ {- W, M' [; [% b+ I1 K
6 i) i/ m5 H& @" ]0 ]* L9 F( A else {
- B* n. N) P6 N; \0 m: M* _# Z+ J+ O; u
9 `' w" w: `2 A; f( T% |" V di "cannot find pmaxphddy240"8 N S+ n# L( W9 p4 w- b
restore: F; E+ j0 s5 u3 ]! X
6 T$ ^0 J- k f0 e sum dx240
' z. M% y# [" S9 @2 v7 ~+ a local tempmaxphddy240=r(mean)
: M3 R4 _+ p% r3 @1 j
+ a& k& ~. L7 z3 ?# n 8 T+ W4 H3 n- I- w
}, C# U; K/ v6 g
/ N# @: V* L* X1 a
& e3 R3 G ?7 s
- n, Y3 ~+ G6 J9 w% N8 M
) `# {) |/ w% M7 ^3 a- |# i 6 _! P% }" s! g, D; [7 [
# r, p% i9 n) V% w7 p
gen pmaxphddy240=`tempmaxphddy240' in 13 O( d3 J$ d8 T. J
$ V6 l/ |/ y& }$ _4 |
# L* T& j: q! w/ v/ { *-------------ddy240pmaxp右侧低峰值 -------------------" d% P7 v, J1 H2 g* D
- I- k3 U& e1 ]5 ~& h& x
preserve 3 c1 r. N4 E Z% l+ g
4 W! j' q4 B6 g! e keep if dx240>`tempmaxp'
( X4 L1 j$ t, f& _5 h8 K8 H
2 ~) r( @8 }# H, q& E gen temddy240=-ddy240' W" i/ A3 A. @3 D+ @7 Q
# y. j' i% w5 w( m" m# O k, z
keep if temddy240>0+ R# W1 Y, s4 x4 u
/ Z1 b* w, s$ q% @* Q1 E
count
+ F$ N4 r1 ]7 K3 c" Y' F9 r; d " r& m4 j. _. K, g
if r(N)>2 {
& @ y+ t+ v) g8 H' j2 ? . x0 h2 @( x1 V1 s0 Q& G
pkexamine dx240 temddy240
; d8 W8 G' T( J: G$ C( [, _ \6 x( m. h1 U7 J6 r5 ^0 C0 X
local tempmaxplddy240=r(tomc) ) R& ]/ A! R) ` |. c. Z: R; M7 S
restore" U. ?1 ]* [6 g1 ?9 @" g* L- C
}
$ [5 y# o6 W$ p5 J$ i
4 O: a, a3 f. c7 z* u else {5 i8 u' I5 k; j2 o) ^- P7 e/ _
restore5 ~- g$ V) d5 O- S, t) x
di "cannot find pmaxlhddy240"
! k* Q9 @9 ] }; w 2 E K9 {: j. c# u: V
# ^' N a& j1 Q' [
sum dx240
4 ?6 \; T5 m3 V* f7 Q$ E0 a6 c: S local tempmaxplddy240=r(mean) in 17 E8 o; P" j! H) F' f& o1 g& W
/ z- q0 y- c& u2 f: r
, t. T5 y5 l% d }
( X9 j. F. g% C- I
) o9 _2 T4 e3 E: o
8 H8 a: [. l9 t& C3 J0 d
" Y4 K/ g( X: T; i& S , \* o/ S' ?6 N5 L7 Z) L3 f2 Z
4 ~# }& D0 P a% m: ^$ |* a
* }7 R: y: e" I gen pmaxplddy240=`tempmaxphddy240' in 1% v- z' f! S, x
4 u; ~/ N* V& z$ l" J5 c *-------------------------------------. h' F7 v9 U' ~" @: V
0 ?, P0 G( l1 A$ R( U
gen price5d=v5 in 1/20
. k+ |1 P% p1 V2 J: H " H& t% R' P( t. y ?6 ?
gen price5yy=_n in 1/201 f; o; n5 {% T0 S( {" i0 Z
* i# D6 z9 P7 V. Y, s gen price5y=price5yy*(dy240max-dy240min)/20: X6 Y% m7 ~5 _( f" d, \
( T6 u+ X* Z% e* |8 w9 Z
*price5y &price5d
! `% w- ]: _" g7 J% ]! ]& R' x2 g4 |
) q6 D' X( }0 i gen priceny=price5y in 1
) o; [% Y# |# I# C
4 h% t. {2 m9 W, n gen pricen=v5 in 1( D/ J% ?+ Z7 J" A5 m& L
! ~2 o, {8 L+ p5 w/ J$ T! A6 H" X 9 k, s& N( L* s+ ~. l: B
*priceny &pricen
! h. U( j+ n' S* B$ Z& @9 d9 o2 v3 N
5 t& G6 F; [6 \/ ^" H/ c+ \ 0 ]( [2 n: O, W2 F
*-------------------------graph------------------
1 n0 c, H2 _* G$ d0 f0 ?* w+ I2 ] " o2 a( D, S& y3 j$ w# c& x
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)6 a- X4 a5 ?6 F0 @
9 z. B( a0 L( o/ z3 v+ a5 G8 `3 C2 G
* ---------可选项目----------------------
# O. X4 a/ l! h" S$ n$ z5 i/ e% B
}0 j1 K( k5 M1 O' E' o M
end7 X' e" T0 [$ S8 t# _4 b
|
|